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".
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.
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.
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)
Sobald die virtuelle Umgebung erstellt ist, starten Sie die virtuelle Umgebung von Anaconda
Prompt, 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 Es ist in Ordnung, wenn Sie einen Bildschirm mit einer Rakete wie dieser sehen.
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.
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.
urls.py
.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.
Es ist ziemlich einsam, aber es fühlt sich gut an, weil die Antwort dem Code entspricht.
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.
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.
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"
Es wird länger, also möchte ich es hier einmal schneiden. Vielen Dank. Wenn Sie einen Fehler bemerken, korrigieren Sie ihn entsprechend.