[PYTHON] Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen

Ich möchte eine Webanwendung erstellen

Also habe ich beschlossen, Django in Python zu studieren. Django scheint ein Python-Webframework zu sein. Was ist ein Framework? Auf der offiziellen Website heißt es jedoch: "Django macht es einfacher, bessere Web-Apps schneller und mit weniger Code zu erstellen." Es scheint, dass Youtube, Dropbox und Instagram auch mit Django an berühmten Orten hergestellt werden. Beeindruckend ...

Hinweis) Dieser Artikel lautet "Ich habe das Tutorial des offiziellen Projekts von Django ausprobiert".

Umgebung

Zuallererst vom Umweltbau bis zum Kaninchen und der Ecke

Wenn Sie diese drei Punkte unterdrücken, können Sie Django starten. In meinem Fall unter Windows 10 1909

Ich habe es vorbereitet. Unten finden Sie die Links, auf die ich beim Setup verwiesen habe.

Referenzlink [Django am schnellsten meistern1](https://qiita.com/gragragrao/items/373057783ba8856124f3) [django Official Document-Tutorial](https://docs.djangoproject.com/ja/3.0/intro/tutorial01/) [Python-Umgebungskonstruktion (Anaconda + VSCode) @ Windows10 [Version Januar 2020]](https://qiita.com/manamana/items/38e963ce04f24de4bbe4)

Erster Schritt

Nach der Installation von Django habe ich eine virtuelle Umgebung erstellt. Wie Sie sehen können, ist der Schritt ziemlich langsam. Bitte verzeih mir.

Im Allgemeinen gibt es viele Artikel über "pyenv" oder "venv" beim Erstellen einer virtuellen Umgebung. Wenn ich es also diesmal mit "Anaconda" mache Es wurde mit ein wenig Verwirrung gebaut. Da die GUI von "Anaconda" ziemlich einfach zu verstehen ist, ist es möglich, eine virtuelle Umgebung zu erstellen, ohne ehrliche Befehle einzugeben. So kann es für Anfänger leicht sein, damit auszukommen. Unten sehen Sie den Einstellungsbildschirm für Anaconda Navigator.

    1. Klicken Sie links im Menü auf Umgebung, um den Einstellungsbildschirm für die virtuelle Umgebung aufzurufen 2020-07-30_LI.jpg
  1. Erstellen Sie eine neue Umgebung Der Name sollte leicht zu verstehen sein und Sie können frei entscheiden. (Ich habe es Django genannt, aber vielleicht gibt es einen Namespace-Konflikt) 2020-07-30 (1)_LI.jpg

2020-07-30 (2)_LI.jpg

Lassen Sie uns ein Projekt machen

Sobald die virtuelle Umgebung erstellt ist, starten Sie die virtuelle Umgebung von AnacondaPrompt, geben Sie das Arbeitsverzeichnis ein und erstellen Sie ein Projekt.

cmd


(base)C:\User>conda activate Django
(Django)C:\User>django-admin startproject mysite

Dadurch wird ein "mysite" -Verzeichnis erstellt, in dem der Projekt- und Starter-Kit-ähnliche Code automatisch erstellt wird.

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

Da das Tutorial genau die gleiche Erklärung hat, werde ich die Details weglassen, aber die Grundbewegung wird von manage.py gesteuert und urls.py ist für das Routing innerhalb der Site verantwortlich. Ausführlicher Artikel ⇒ Erklärung des Code-Mechanismus für Django-Django (Framework) auf leicht verständliche Weise [Gründlich kauen]

Lassen Sie uns zuerst den Webserver ausführen!

cmd


(Django)C:\User\mysite>python manage.py runserver

Sie haben erfolgreich einen Server eingerichtet. Wie diejenigen, die es verstehen, verstehen werden, handelt es sich bei dem hier eingerichteten Server um einen Entwicklungsserver für die sogenannte Testversion. Tatsächlich wird es durch Einfügen von "Apache" usw. betrieben.

Überprüfen wir also den von uns eingerichteten Entwicklungsserver. Wenn Sie im Browser 127.0.0.1:8000 eingeben 2020-08-01.png Es ist in Ordnung, wenn Sie einen Bildschirm mit einer Rakete wie dieser sehen.

Erstellen Sie einen Umfrageantrag

Im Tutorial werden wir hier mit der Erstellung eines Abstimmungsantrags beginnen. Erstellen Sie zunächst eine Vorlage für die Anwendung.

cmd


(Django)C:\User\mysite>python startapp polls

Dadurch wird ein Verzeichnis mit dem Namen polls erstellt, das bereits die grundlegenden Skripts zum Erstellen Ihrer Anwendung enthält.

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

Dieses Skript "views.py" steuert das Erscheinungsbild der Seite. Lassen Sie uns nun ein wenig mit diesem views.py spielen, um das Erscheinungsbild zu ändern.

Von hier aus werden wir mit vscode bearbeiten.

In vscode sind die japanische Lokalisierung und die Python-Erweiterung im Plug-In und Pylance enthalten, die ich eingeführt habe, weil kürzlich darüber gesprochen wurde.

Wenn Sie den vscode-Bildschirm öffnen, sieht es so aus. 2020-08-02 (1)_LI.jpg

Fügen Sie das folgende Skript zu views.py hinzu.


from django.http import HttpResponse

def index(request):
#Ich habe die entsprechenden Worte eingegeben
    return HttpResponse("Hallo!")

Der Inhalt von "HttpResponse" von "return" unterscheidet sich vom Tutorial, aber da dies eine Anzeigemeldung ist, gebe ich ein, was ich möchte.

Stellen Sie dann das Routing in "urls.py" ein, um diese Funktion anzuzeigen.

polls/urls.py


from django.urls import path

from . import views

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

Ich habe "views.py" aufgerufen und den "Pfad" zu "views.index" in die Liste der "URL-Muster" eingefügt. Dies allein kann views.index noch nicht aufrufen. Sie müssen das Routing für Umfragen in "mysite / urls.py" anzeigen.

mysite/urls.py


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

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

admin ist ursprünglich enthalten. "Pfad" zu Umfragen hinzugefügt. include ist eine Funktion, die benötigt wird, um die Aktion an die untere urls.py zu übergeben. Die Ausnahme ist admin.site.urls. Sie können jetzt views.index unter 127.0.0.1: 8000 / polls nachschlagen.

Referenz zum URL-Versand ⇒ Studie von DJango (1)

Lassen Sie es uns sofort überprüfen. 2020-08-02 (3).png

Es ist ziemlich einsam, aber es fühlt sich gut an, weil die Antwort dem Code entspricht.

Datenbankeinstellungen

Stellen Sie die Datenbank ein, die in mysite / settings.py verwendet werden soll. Zum Glück wird Python standardmäßig mit einer kleinen Datenbank namens "SQLite" geliefert. Diese Orte zeigen auch die Philosophie von Python, das an Batterien angebracht ist.

cmd


(Django) C:\User\mysite>python manage.py migrate

Damit ist die Erstellung der Datenbanktabelle abgeschlossen. Ich bin überrascht, dass es zu lächerlich ist, aber ist das eine gute Sache bei Django? Wenn Sie eine andere Datenbank als "SQLite" verwenden, ist eine separate Einstellung in "settings.py" erforderlich.

Modell erstellen

Erstellen Sie das Kernmodell der Polls-Anwendung.

polls/models.py


from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

Wie Sie dem Code entnehmen können, haben wir zwei Unterklassen der Klasse "models.Model", "Question" und "Choice" definiert. Außerdem wird das Attribut auf "Feld" gesetzt. Ich habe Field noch nicht eingeholt. Ich werde mich widmen. models.ForeignKey ist derjenige, der den externen Schlüssel erhält. Es tut mir Leid.

Aktivieren Sie das Modell

Nach dem Erstellen des Modells besteht der nächste Schritt darin, das Modell in "settings.py" zu aktivieren, damit auf es verwiesen werden kann.

mysite/setting.py


INSTALLED_APPS = [
    'polls.apps.PollsConfig', #Fügen Sie diese Zeile hinzu
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Was ist übrigens polls.apps.PollsConfig? Es war das ↓

polls/apps.py


from django.apps import AppConfig

#Ich rufe das an.
class PollsConfig(AppConfig):
    name = 'polls'

Und wenn Sie mit der Einstellung auf settings.py fertig sind,

cmd


(Django) C:\User\mysite>python manage.py makemigrations polls

Ich konnte die Modelländerungen speichern, indem ich "makemigrations" ausführte. Danach scheint es, dass Sie mit "migrieren" gehen können.

Es wird länger, also möchte ich es hier einmal schneiden. Vielen Dank. Wenn Sie einen Fehler bemerken, korrigieren Sie ihn entsprechend.

Recommended Posts

Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
Ich möchte vorerst eine Docker-Datei erstellen.
[Hi Py (Teil 1)] Ich möchte vorerst etwas machen, also setze zuerst ein Ziel.
Ich möchte vorerst Selen bewegen [für Mac]
Starten Sie Django zum ersten Mal
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich habe zum ersten Mal versucht, mit DynamoDB und Step Functions eine serverlose Stapelverarbeitung zu erstellen
Zum ersten Mal in Numpy werde ich es von Zeit zu Zeit aktualisieren
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
So verwenden Sie MkDocs zum ersten Mal
Ich möchte einfach ein Rauschmodell erstellen
Ich möchte mit Python ein Fenster erstellen
Ich habe zum ersten Mal versucht, Python zu programmieren.
Ich habe Mind Meld zum ersten Mal ausprobiert
Ich möchte eine Art von Implementierung erstellen, die angeschlossen werden kann
Ich möchte eine Django-App auf Heroku hochladen
Versuchen Sie zum ersten Mal, in Qiita zu posten
Ich möchte eine schöne Python-Entwicklungsumgebung für meinen neuen Mac erstellen
Ich möchte gleichzeitig einen Musik-Player erstellen und Musik ablegen
Ich möchte dem Anfang einer WAV-Datei 1 Sekunde lang Stille hinzufügen
Lassen Sie uns eine einfache Vorlage anzeigen, die ideal für den ersten Django ist
GTUG Girls + PyLadiesTokyo Meetup Ich ging zum ersten maschinellen Lernen
Erstellen Sie mit RDKit einen Befehl zum Suchen nach ähnlichen Verbindungen aus der Zieldatenbank und überprüfen Sie die Verarbeitungszeit
Was ich zum ersten Mal in Python bekommen habe
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich möchte in der Django-Verschiebungstabelle scrollen, aber ...
Registrieren Sie zum ersten Mal eine Aufgabe in cron
Ich habe Python zum ersten Mal mit Heroku ausprobiert
Zum ersten Mal habe ich etwas über Unix (Linux) gelernt.
Ich möchte manuell eine Legende mit matplotlib erstellen
AI Gaming Ich habe es zum ersten Mal versucht
Ich habe einen Befehl gegeben, auf den Start von Django zu warten, bis die Datenbank bereit ist
Es ist okay, zum ersten Mal teilzunehmen! Ein Hackason-Starter-Kit, das Sie "vor" der Teilnahme am Hackason vorbereiten möchten!
Erster Kaggle (Kaggle ①)
Kaguru zum ersten Mal
[TensorFlow] Ich möchte die Indizierung für Ragged Tensor beherrschen
Ich möchte einen Blog-Editor mit dem Administrator von Django erstellen
Eine Lernmethode für Anfänger zum Erlernen der Zeitreihenanalyse
Zusammenfassung der Stolperpunkte in Django zum ersten Mal
Ich habe die Google Cloud Vision-API zum ersten Mal ausprobiert
Ich habe versucht, einen Bot für die Ankündigung eines Wiire-Ereignisses zu erstellen
Ich möchte vorerst die Desktop-Umgebung von Ubuntu auf Android verwenden (Termux-Version)
Ich möchte vorerst Ubuntus Desktop-Umgebung auf Android verwenden (UserLAnd-Version)
Eine Geschichte, bei der es mir schwer gefallen ist, mit der ersten Webanwendung eine "App zu erstellen, die Bilder wie Gemälde konvertiert"
Schritte zum Erstellen eines Django-Projekts
[Django] Was tun, wenn das zu erstellende Modell viele Felder enthält?
Qiskit: Ich möchte eine Schaltung erstellen, die beliebige Zustände erzeugt! !!
Ich möchte mit matplotlib ein Diagramm mit Wellenlinien in der Mitte erstellen (ich möchte den Eindruck manipulieren).
Ich möchte ein Histogramm erstellen und die Normalverteilungskurve darauf überlagern. matplotlib edition
Ich habe eine Funktion erstellt, um zu überprüfen, ob der Webhook vorerst in Lambda empfangen wird
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Siehe Python zum ersten Mal
Raspberry Pi --1 - Zum ersten Mal (Schließen Sie einen Temperatursensor an, um die Temperatur anzuzeigen)
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Web-API