Ich wollte Python für einen Moment berühren und habe versucht, das beliebteste Framework namens Django zu verwenden, bis es im Browser als "Hallo Welt" angezeigt wurde. Daher werde ich ein Memorandum darüber veröffentlichen.
Diesmal habe ich auf diesen Artikel verwiesen.
Djangos erste Hallo Welt https://qiita.com/Yuji_6523/items/d601ad11ad49b9e7ab0e
Voraussetzung ist, dass Python und Pip bereits installiert sind.
Führen Sie pip install django
aus, um den Befehl django zu installieren.
$ python --version
Python 3.8.2
$ pip install django
# (Kürzung)
$ python -m django --version
3.1
Diesmal ist dies ein Beispiel für die Erstellung eines Projekts mit dem Namen "helloWorldProject".
Sie können ein Projekt erstellen, indem Sie den Befehl "django-admin startproject [Projektname] [zu erstellendes Verzeichnis]" ausführen.
$ django-admin startproject helloWorldProject .
$ tree
.
├── helloWorldProject
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
Da an dieser Stelle noch nichts vorhanden ist, fügen wir eine Anwendung hinzu, die beim Zugriff mit "domain / hello" und einem Browser gestartet wird.
Dieses Mal werden wir eine Anwendung namens "Hallo" hinzufügen.
Sie können eine Anwendung hinzufügen, indem Sie den Befehl python manage.py startapp [Anwendungsname]
ausführen.
$ python manage.py startapp hello
$ tree
.
├── hello
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── helloWorldProject
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ └── settings.cpython-38.pyc
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
Wenn dies unverändert bleibt, wurde die Anwendung "Hallo" nicht angewendet. Fügen Sie daher die Einstellungen hinzu.
Fügen Sie hinzu, dass es in "helloWorldProject / settings.py" eine Anwendung namens "Hallo" gibt.
helloWorldProject/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#hinzufügen
'hello',
]
Nehmen Sie die Routing-Einstellungen in "helloWorldProject / urls.py" vor.
helloWorldProject/urls.py
from django.contrib import admin
from django.urls import path, include #include hinzugefügt
urlpatterns = [
path('admin/', admin.site.urls),
#hinzufügen
path('', include('hello.urls')),
]
Sie können "Pfad" ("Hallo", "hier" schreiben, aber dieses Mal erstellen Sie eine Datei mit den Namen "Hallo / urls.py" und "Domain / Hallo" für das Routing. Wirf alles über hallo / urls.py`.
Der Grund dafür ist, ein Programm mit möglichst hoher Aggregation und geringer Kopplung anzustreben.
Erstellen Sie außerdem ein neues "hello / urls.py" und stellen Sie es so ein, dass es die index () - Funktion von "hello / views.py" aufruft, wenn Sie mit "domain / hello" darauf zugreifen.
hello/urls.py(Neu hinzugefügte Datei)
from django.urls import path
from . import views
urlpatterns = [
path('hello', views.index),
]
Erstellen Sie eine index () -Funktion
in hello / views.py
, wie Sie in hello / urls.py
festgelegt haben.
Dieses Mal werde ich die Datei "Content-Type: text / html" zurückgeben, die in der HTTP-Antwort als "Hello World" beschrieben wird.
hello/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World')
Obwohl dies diesmal nicht so relevant ist, bezieht sich die Migration hier auf die Funktion, die automatisch die Definition der in der Anwendung verwendeten Datenbank erstellt und verwaltet.
Es kann mit dem folgenden Befehl ausgeführt werden.
$ python manage.py migrate
Wenn die Migration erfolgreich ist, sollte nach Ausführung des Befehls kein Fehler auftreten.
Sie können es auf dem lokalen Host mit dem folgenden Befehl starten.
$ python manage.py runserver
Standardmäßig wird es auf Port 8000 gestartet. Wenn Sie also auf "http: // localhost: 8000 / hello" zugreifen und "Hello World" in "python: hello / views.py" sehen, ist es erfolgreich. Das ist es.
Das diesmal erstellte Projekt wurde auf GitHub veröffentlicht.
Recommended Posts