Erstellen Sie eine Webanwendung namens Hello World App und zeigen Sie "Hello World" an.
Wechseln Sie zunächst in ein beliebiges Verzeichnis, erstellen Sie ein Verzeichnis mit dem Namen helloworld (alles ist in Ordnung) und wechseln Sie in dieses Verzeichnis. Rufen Sie dann die virtuelle Umgebung auf und führen Sie den folgenden Befehl aus, um ein neues Django-Projekt zu erstellen.
$ django-admin startproject helloworld_project .
# django-admin.py:Skript zum Erstellen der Verzeichnisse und Dateien, die für ein neues Projekt benötigt werden
# helloworld_progect:Alles ist in Ordnung, da es sich um einen Projektnamen handelt
Das Verzeichnis helloworld_project wird erstellt. Die folgenden Dateien befinden sich im Verzeichnis.
├── helloworld
├── manage.py #Ein Befehlszeilenprogramm zum Ausführen verschiedener Vorgänge für Django-Projekte.
├── helloworld_project
├── __init__.py #Eine leere Datei, um Python mitzuteilen, dass dieses Verzeichnis ein Python-Paket ist
├── asgi.py #Einstiegspunkt für den ASGI-kompatiblen Webserver, der das Projekt bereitstellt
├── settings.py #Steuern Sie die Projekteinstellungen
├── urls.py #urlresolver(Mechanismus zum Finden der Ansicht, die der in der Anforderung empfangenen URL entspricht)Enthält eine Liste der in verwendeten Muster.
└── wsgi.py #wsgi:Eine Definition einer gemeinsamen Schnittstelle, die einen Server und eine Webanwendung verbindet
Hinzufügen und Erstellen einer App (Funktion) zu einem neuen Projekt namens helloworld_project. Wenn Sie das Wort App hören, denken Sie eher an LINE, Twitter oder Instagram, aber in Django bezieht sich App auf eine Funktion. Viele Funktionen arbeiten zusammen, um LINE zu erstellen. Ein Django-Projekt enthält eine oder mehrere Apps und arbeitet zusammen, um Dienste bereitzustellen. Zum Beispiel auf einer E-Commerce-Site --Benutzerauthentifizierung --Zahlung --Warenpräsentation
Wenn der Server ausgeführt wird, stoppen Sie ihn zunächst mit Strg + c. Führen Sie den folgenden Befehl aus, um eine App mit dem Namen "pages" zu erstellen.
$ python manage.py startapp pages
Dadurch wird das Verzeichnis / helloworld / pages erstellt.
├── pages
├── __init__.py
├── admin.py #Konfigurationsdatei in admin
├── apps.py #Einstellungsdatei der App selbst genannt Seiten
├── migrations #model.Speichern Sie den Änderungsverlauf der Py-Datei, der Datenbank und der Modelle.Verzeichnis zum Speichern von Dateien, um py synchron zu halten
│ └── __init__.py
├── models.py #Modelldatei der App. Eine Datei, die ein Datenbankmodell definiert.
├── tests.py #App-Testdatei
└── views.py #Datei der App anzeigen. Eine Datei, die Anforderungen und Antworten auf Apps verarbeitet.
Ich habe in Djangos Projekt (Hallo Welt) eine App namens Seiten erstellt, aber Django weiß immer noch nicht, ob Seiten Apps sind oder was. Ich muss Django anweisen, eine App namens Pages zu verwenden. Wenn Sie helloworld_project / settings.py öffnen, finden Sie die folgenden Teile.
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Dies sind die standardmäßig vorhandenen Django-Apps. Sie können Ihrem Django-Projekt nur Ihre eigene App hinzufügen, indem Sie hier Seiten hinzufügen. Fügen Sie die folgende Zeile hinzu.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pages.apps.PagesConfig', # new
]
Sie sollten immer Ihre eigene App unten hinzufügen. Dies liegt daran, dass Django die Einstellung von INSTALLED_APPS von oben nach unten ausführt. Sie müssen zuerst die Admin-App laden, dann auth, dann .... Der Grund ist, dass die meisten selbst erstellten Apps von Funktionen wie admi abhängen.
Fügen Sie als Nächstes den Code hinzu, um die Zeichenfolge in views.py anzuzeigen.
pages/views.py
from django.shortcuts import render
from django.http import HttpResponse
def homePageView(request):
return HttpResponse('Hello, World!')
#Wenn eine Funktion namens homePgeView eine Anforderung empfängt, ruft sie eine Funktion namens HttpResponse auf und gibt den erhaltenen Wert zurück.
#Diesmal'Hello, World!'Es wird eine Antwort zurückgegeben, die die Zeichenfolge anzeigt.
Zunächst fordert eine Ansicht Informationen wie Daten von einem Modell (model.py) an. Das Modell übergibt dann die angeforderten Daten an die Ansicht an die Vorlage. Mit anderen Worten, die Ansicht (view.py) ist eine Python-Funktion, die eine Anforderung empfängt und eine Antwort zurückgibt.
** Beachten Sie, dass die Ansicht (view.py) grundsätzlich ein HttpResponse-Objekt zurückgeben muss. (Es gibt Ausnahmen) **
Django verwendet Anforderungs- und Antwortobjekte, um den Verarbeitungsstatus im gesamten System zu übergeben. Nach Erhalt einer Anforderung für eine Seite erstellt Django ein HttpRequest-Objekt. Dieses Objekt enthält die Anforderungsmetadaten. Django lädt dann die entsprechende Ansicht und übergibt HttpRequest als erstes Argument der Ansichtsfunktion. Jede Ansicht muss ein HttpResponse-Objekt zurückgeben. https://djangoproject.jp/doc/ja/1.0/ref/request-response.html
Als nächstes folgt die URL-Einstellung. Von nun an berühren Sie zwei (①, ②) urls.py-Dateien. Lassen Sie uns also unser Bestes geben, während wir uns der Unterschiede bewusst sind.
① Erstellen Sie eine Datei mit dem Namen pages / urls.py. (** Achten Sie auf das aktuelle Verzeichnis. Im Seitenverzeichnis. **) Bitte fügen Sie den folgenden Code hinzu.
pages/urls.py
from django.urls import path
from .views import homePageView
urlpatterns = [
path('', homePageView, name='home')
]
#Django ist der Domainname der URL(http://127.0.0.1:8000/Teil von)Wird ignoriert, daher ist dieses URL-Muster eine leere Zeichenfolge('')Streichhölzer
Der obige Code bedeutet, dass Sie beim Zugriff auf die Adresse 127.0.0.1:8000 (die Adresse der ersten Seite) die Ansichtsfunktion homePageView aufrufen sollten. name = 'home' ist der Name der URL, mit der die Ansicht identifiziert wird. Sie haben in Zukunft die Möglichkeit, den Namen dieser URL zu verwenden. Wenn Sie ihr also einen eindeutigen Namen geben, der leicht zu merken ist, werden Sie nicht verwirrt sein.
② Standardmäßig sollte eine Datei mit dem Namen helloworld_progect / urls.py erstellt werden. Fügen Sie hier den folgenden Code hinzu.
helloworld_project/urls.py
from django.contrib import admin
from django.urls import path, include #new
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')), #new
]
#Ähnlich wie bei ① ist das URL-Muster eine leere Zeichenfolge('')Geben Sie in http an://127.0.0.1:8000/Die Eingangsseite ist nur die Adresse der Domain.
Importieren Sie die Include-Funktion, um pages.urls zu importieren. In path (), das 'admin /' angibt, wird der Verwaltungsbildschirm (admin.site.urls) zurückgegeben (im Browser angezeigt), wenn die URL "admin /" lautet. Der Verwaltungsbildschirm ist eine Seite, auf der Sie die App mit einem Browser bedienen können. Django leitet Anfragen, die auf die Einstiegsseite gelangen, an pages.urls weiter. Mit anderen Worten, wenn auf die Eingangsseite zugegriffen wird, wird die homePageView-Funktion von pages.urls automatisch ausgeführt.
Jetzt können Sie Hello, World! Auf Ihrer Website anzeigen. Sie müssen lediglich den Server starten.
$ python manage.py runserver
Nächstes Mal werde ich mehr über die Pages App tun.
Django for Beginners 3.0
Recommended Posts