[PYTHON] Ich möchte eine WEB-Anwendung mit den Daten von League of Legends ① erstellen

Ich möchte eine LOL-Datenerfassungs-WEB-Anwendung mit Django erstellen

Bis zum letzten Mal konnte ich lernen, wie man Daten abruft und in einer Datenbank speichert, daher möchte ich aus diesem Teil eine Webanwendung entwickeln.

Bis zum letzten Mal Ich möchte die Daten von League of Legends erhalten ① Ich möchte die Daten von League of Legends② erhalten Ich möchte die Daten von League of Legends erhalten ③

Umgebung

Stand 08.02.2020 OS:windows10 Anaconda:4.8.1 python:3.7.6 MySQL:8.0.19 Django:3.0.1 PyMySQL:0.9.3

Wir stellen vor: Django

Installation

python -m pip install djangoLauf

Änderung vom letzten Mal

Ändern Sie die zu importierende Bibliothek von MySQLdb nach PyMySQL python -m pip install pymysql import mysql -> import pymysql

Erstellen

Führen Sie zuerst `django-admin startproject MyProject``` in einem Verzeichnis namens APP aus. ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571147/3df0397c-1103-da55-89a1-1d9ca5622ce4.png) Diese Art von Hierarchie ist abgeschlossen. Führen Sie python manage.py startapp LOLApp`` in derselben Hierarchie aus wie ** manage.py **. image.png Sie werden so etwas haben.

Ändern Sie die Einstellung.py

*** ** 'LOLApp.apps.LolappConfig', ** zu INSTALLED_APPS hinzugefügt ***. Dann ändern Sie *** DATENBANKEN ***. Standardmäßig ist die Datenbank sqlite3, machen Sie sie also zu mysql.

Originalcode


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
   }
}

Nach der veränderung


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'LOLdb',
        'USER': 'root',
        'PASSWORD': '{Legen Sie zunächst das Passwort fest}',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS':{
            'init_command': "SET 
            sql_mode='STRICT_TRANS_TABLES'",
        }
    }
}

Als nächstes ändern Sie *** LANGUAGE_CODE *** von ** 'en-us' ** in ** 'ja' **. Ändern Sie abschließend *** TIME_ZONE *** von ** 'UTC' ** in ** 'Asia / Tokyo' **.

Ändern Sie manage.py

Ganz am Ende

import pymysql

pymysql.install_as_MySQLdb

Hinzufügen.

python manage.Führen Sie py makemigrations LOL App aus



#### **`python manage.Führen Sie py migrate aus`**
```Führen Sie py migrate aus

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571147/7b645d72-6bac-f99e-f166-0c5fd22b9d31.png)
 Zusätzlich zu der zuvor erstellten Tabelle ** match_data ** wird eine neue erstellt.

## Starten Sie den Entwicklungsserver

#### **`python manage.Führen Sie py run server aus und versuchen Sie, zur Ausgabeadresse zu springen.`**
```Führen Sie py run server aus und versuchen Sie, zur Ausgabeadresse zu springen.

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571147/1fc2fc10-544f-6da0-8d84-0cf645ce03b1.png)
 Wenn ein solcher Bildschirm angezeigt wird, ist er vorerst ein Erfolg.

## Ansicht erstellen

#### **`views.py`**
```python

from django.shortcuts import render
from django.http import HttpResponse #hinzufügen
# Create your views here.

def index(request):
    return HttpResponse("Hello World!")

Erstellen Sie *** urls.py *** direkt unter *** LOLApp ***. Geben Sie den Pfad an, der der vorherigen Ansicht entspricht.

LOLApp/urls.py


from django.urls import path
from . import views

urlpatterns = [
    path('',views.index,name='index'),
]

Nehmen Sie Änderungen an *** urls.py *** direkt unter *** MyProject *** vor.

MyProject/urls.py


from django.contrib import admin
from django.urls import path,include #add include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('LOLApp/',include('LOLApp.urls')), #hinzufügen
]

python manage.Führen Sie py runserver zur vorherigen Adresse aus**/LOLApp**Wenn Sie hinzufügen und darauf zugreifen


 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571147/fd349263-88c0-2bcc-509a-b87449691023.png)
 Wenn ja, ist es vorerst in Ordnung.

### Erstellen Sie ein Modell


#### **`models.py`**
```python

from django.db import models

# Create your models here.
class Match_data(models.Model):
    sn = models.CharField(max_length=200)
    kills = models.IntegerField(default=0)
    deaths = models.IntegerField(default=0)
    assists = models.IntegerField(default=0)
    championId = models.IntegerField(default=0)
    roles = models.CharField(max_length=200)
    cs = models.IntegerField(default=0)
    gold = models.IntegerField(default=0)
    damage = models.IntegerField(default=0)
    side = models.CharField(max_length=200)
    game_time = models.IntegerField(default=0)

python manage.py makemigrations LOLApp



#### **`python manage.py migrate`**
```py migrate


#### **`python manage.py sqlmigrate LOLApp 0001`**
```py sqlmigrate LOLApp 0001

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571147/024e5511-e62f-2e03-2a67-4fac3e7e0041.png)
 Eine neue ** lolapp_match_data ** wird der Tabelle hinzugefügt.


#### **`python manage.Führen Sie py shell aus und probieren Sie es aus.`**
```Führen Sie py shell aus und probieren Sie es aus.


```python 
from LOLApp.models import Match_data 
Match_data.objects.all()
# <QuerySet []>
a = Match_data(sn="aaa",kills=2,deaths=3,assists=5,championId=100,roles="MID",cs=100,gold=10000,damage=10000,side="BLUE",game_time=1500)
a.save() #Daten speichern
a
#<Match_data: Match_data object (1)>

Wenn Sie mit einem MySQL-Befehl überprüfen image.png Es wurde bestätigt, dass es in der Datenbank gespeichert wurde.

Erstellen Sie ein Administratorkonto

python manage.Führen Sie py createuperuser aus, um den Benutzernamen, die E-Mail-Adresse und das Passwort zu registrieren.


 Führen Sie dann `` `python manage.py runsever``` aus und gehen Sie zu ** http://127.0.0.1:8000/admin/**, um zur Admin-Site zu springen. Ändern Sie *** admin.py ***, um mit dem Modell auf dieser Administrationssite zu arbeiten.


#### **`admin.py`**
```python

from django.contrib import admin
from .models import Match_data

# Register your models here.
admin.site.register(Match_data)

Wenn Sie dies hinzufügen und dann neu laden![Image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571147/e083f106-98cf-feb0-a4a0 -c7de71052209.png) Ein Modell wurde hinzugefügtImage.png Sie können mit den Daten auf diesem Bildschirm arbeiten.

Zusammenfassung

Dieses Mal habe ich das Framework verwendet, um die aus dem vorherigen Element erhaltenen Daten zu ändern. Als nächstes muss ich, um eine WEB-Anwendung zu erstellen, eine Basis für die Anzeige erstellen, daher möchte ich das ein wenig machen.

Recommended Posts

Ich möchte eine WEB-Anwendung mit den Daten von League of Legends ① erstellen
Ich möchte die Daten von League of Legends ③ erhalten
Ich möchte League of Legends-Daten erhalten ①
Qiskit: Ich möchte eine Schaltung erstellen, die beliebige Zustände erzeugt! !!
Ich habe eine Webanwendung in Python erstellt, die Markdown in HTML konvertiert
(Hinweis) Eine Webanwendung, die TensorFlow verwendet, um empfohlene Songnamen abzuleiten.
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Ich möchte einfach ein Rauschmodell erstellen
Ich möchte mit Python ein Fenster erstellen
Ich möchte eine Art von Implementierung erstellen, die angeschlossen werden kann
Die Geschichte der IPv6-Adresse, die ich auf ein Minimum beschränken möchte
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Eine Bibliothek für Datenwissenschaft "Ich möchte das tun" auf dem Jupyter Notebook
Ich möchte einem Pandas-Datenrahmen eine group_id geben
Ich möchte ein Paket von Php Redis installieren
Ich möchte manuell eine Legende mit matplotlib erstellen
Ich möchte sagen, dass es eine Datenvorverarbeitung gibt ~
(Hinweis) Eine Webanwendung, die TensorFlow verwendet, um empfohlene Songnamen abzuleiten. [Erstellen Sie eine Ausführungsumgebung mit Docker-Compose.]
(Hinweis) Web-App, die TensorFlow verwendet, um empfohlene Songnamen abzuleiten [Maschinelles Lernen]
Erstellen Sie eine Web-App, die Zahlen mit einem neuronalen Netzwerk erkennt
Ich möchte viele Prozesse von Python aus starten
Ich möchte vorerst eine Docker-Datei erstellen.
[Python] Ich habe einen Test von "Streamlit" geschrieben, der das Erstellen von Visualisierungsanwendungen erleichtert.
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen
Wie erstelle ich eine große Menge an Testdaten in MySQL? ??
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Web-API
Erstellt einen Dienst, mit dem Sie J-League-Daten durchsuchen können
Beachten Sie, dass ich süchtig danach war, mit Pythons mysql.connector über eine Webanwendung auf die Datenbank zuzugreifen
Eine Geschichte, bei der es mir schwer gefallen ist, mit der ersten Webanwendung eine "App zu erstellen, die Bilder wie Gemälde konvertiert"
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich möchte in der Einschlussnotation drucken
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
[Für Anfänger] Ich möchte den Index eines Elements erhalten, das einen bestimmten bedingten Ausdruck erfüllt
"CSI", das ich Anfängern der interaktiven Konsolenanwendungsproduktion beibringen möchte
Ich möchte eine Python-Umgebung erstellen
Ein Memorandum darüber, wie man Pandas schreibt, das ich persönlich oft vergesse
Die Geschichte der Entwicklung einer WEB-Anwendung, die automatisch Fangkopien generiert [MeCab]
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
So erstellen Sie einen Wrapper, der die Signatur der zu umschließenden Funktion beibehält
Ich habe eine Web-API erstellt
Ich habe versucht, eine Clusteranalyse von Kunden anhand von Kaufdaten durchzuführen
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Ich habe versucht, das Webanwendungs-Framework zu vergleichen
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Textklassifizierung
Ich habe eine WEB-Bewerbung bei Django gemacht
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Wovon ich beim Erstellen von Webanwendungen in einer Windows-Umgebung abhängig war
Anfänger haben versucht, eine Cloud-native Webanwendung mit Datastore / GAE zu erstellen
Ich möchte eine schöne Python-Entwicklungsumgebung für meinen neuen Mac erstellen
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
Ich habe einen Zeilenbot erstellt, der Python verwendet, um ungelesene E-Mails aus Google Mail abzurufen!