Dieser Artikel führt Sie durch die Schritte eines Anfängers, der einen Coupon-Lieferservice für das iPhone mit einer RESTful-API und schnell entwickelt. Da es implementiert wurde, während die technischen Elemente einzeln untersucht wurden, ist es eine sehr Umwegimplementierung.
Lassen Sie uns das Django-Programm in der virtuellen Umgebung ausführen, die mit Django in der virtuellen Umgebung von pipenv installieren erstellt wurde. Der Editor verwendet VS-Code.
MacOS 10.15 pipenv version 2018.11.26 Django 2.2.6 VSCode 1.39.2
Führen Sie in dem Verzeichnis, in dem Sie die virtuelle Umgebung von pipenv (Projekt) erstellt haben, den folgenden Befehl aus, um die pipenv-Shell (chell) aufzurufen.
$ pipenv shell
Führen Sie in der pipenv-Shell den folgenden Befehl aus, um ein Django-Projekt zu erstellen.
$ django-admin startproject [Projektname]
Wenn Sie den Befehl ausführen und nichts angezeigt wird, ist er wahrscheinlich erfolgreich. Wenn Sie den Befehl ls ausführen, sollten Sie ein Verzeichnis mit dem von Ihnen erstellten Projektnamen haben. In meinem Fall habe ich das Projekt "ami_coupon_api" genannt, sodass ein Verzeichnis mit demselben Namen erstellt wurde.
Wenn VS Code noch installiert ist, sind die Erweiterungen wahrscheinlich nicht für Python installiert. Führen Sie mindestens die folgenden Schritte aus, um die Python-Erweiterung zu installieren.
Wenn diese Einstellung nicht vorgenommen wird, kann VS Code Django nicht ordnungsgemäß in die mit pipenv erstellte virtuelle Umgebung laden, und es wird eine Fehlermeldung angezeigt.
Überprüfen Sie zunächst in der pipenv-Shell den Python-Pfad der virtuellen pipenv-Umgebung.
$ which python
Erstellen Sie eine Kopie des bestätigten Pfads.
Öffnen Sie dann VSCode und öffnen Sie das Verzeichnis für das gerade erstellte Django-Projekt. Darunter befindet sich ein Verzeichnis mit dem Namen ".vscode". Öffnen Sie daher settings.json unter diesem Verzeichnis.
Legen Sie den Python-Pfad der virtuellen pipenv-Umgebung fest, die Sie zuvor in "python.pythonPath" in Settings.json gefunden haben.
Stellen Sie sicher, dass Python des festgelegten Pfads im blauen Teil unten links im VS-Code angezeigt wird.
Wechseln Sie in der Shell von pipenv in das Verzeichnis des zuvor erstellten Django-Projekts und bestätigen Sie mit dem Befehl ls, dass manage.py vorhanden ist.
Zum ersten Mal müssen Sie manage.py migrieren, bevor Sie den Server starten. Führen Sie den folgenden Befehl aus, um manage.py zu migrieren.
$ python manage.py migrate
Wenn Sie versuchen, den Server vor der Migration zu starten, erhalten Sie folgendes Ergebnis:
Starten Sie den Django-Server. Führen Sie den folgenden Befehl aus.
$ python manage.py runserver
Im Browser http: //127.0.0.1: 8000 / (lokaler Host-Port 8000) Versuchen Sie zuzugreifen. Wenn die Raketenanimation angezeigt wird, wurde der Server erfolgreich gestartet.
Um Django-Code zu schreiben und auszuführen, müssen Sie eine Django-App erstellen. Die Verzeichnishierarchie lautet wie folgt.
Um eine Django-App zu erstellen, wechseln Sie in der pipenv-Shell in das Verzeichnis, in dem manage.py gespeichert ist (Djangos Projektverzeichnis), und führen Sie den folgenden Befehl aus.
$ python manage.py startapp [App Name]
In meinem Fall habe ich eine App namens Hallo erstellt. Wenn Sie den Befehl ls im Verzeichnis des Django-Projekts ausführen, wird das Verzeichnis des erstellten Anwendungsnamens erstellt.
Schreiben wir einen Code, der "Hello! Python & Django" im Browser anzeigt.
Wenn Sie das Verzeichnis des Django-Projekts mit VSCode öffnen, befindet sich darunter ein Verzeichnis mit dem Anwendungsnamen (in diesem Fall Hallo). Öffnen Sie es also. Dann gibt es eine Python-Datei namens views.py darunter, also werde ich dort den Beispielcode schreiben.
Ich habe views.py bearbeitet und den folgenden Beispielcode geschrieben.
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("Hello! Python & Django!")
Dies ist ein Programm, das die Zeichenfolge "Hello! Python & Django!" Im HTTP-Format an den Browser zurückgibt, wenn der Browser auf die Funktion index in views.py zugreift (diese anfordert).
Nehmen Sie von hier aus Einstellungen vor, um über einen Browser oder ähnliches auf views.py der Hallo-App zuzugreifen (diese anzufordern). Ermöglichen Sie insbesondere das Anfordern von views.py mit der URL "http: //127.0.0.1: 8000 / hello", wobei "hallo" zur URL des Django-Servers hinzugefügt wurde, den ich zuvor ausprobiert habe.
Öffnen Sie zunächst urls.py unter dem Projektnamenverzeichnis und
Fügen Sie den Code from django.urls import path, include
und path ('hello /', include ('hello.urls'))
hinzu.
Die hinzugefügte urls.py lautet wie folgt.
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', include('hello.urls'))
]
Dies ist so eingestellt, dass urls.py im Ordner "Hallo" angezeigt wird, wenn "Hallo" in der URL der Anforderung des Browsers angegeben ist. Wenn die Serverseite die URL der Anforderung empfängt, müssen Sie zuerst urls.py im Verzeichnis des Projektnamens anzeigen. Nehmen Sie daher solche Einstellungen vor.
Aber urls.py existiert nicht im Hallo-Ordner. Erstellen Sie daher selbst eine Datei mit dem Namen urls.py im Hello-App-Verzeichnis und schreiben Sie den folgenden Code.
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
Hiermit wird die Anforderung an eine Funktion namens index übergeben, wenn eine Anforderung an urls.py im Ordner "Hallo" gesendet wird.
Wenn Sie mit diesen Einstellungen eine Anfrage an "http: //127.0.0.1: 8000 / hello" stellen, wird die Anfrage an views.py im Ordner "hallo" übergeben. Es ist ein Bild, das Sie durch urls.py jedes Levels führt.
Speichern Sie das bearbeitete Programm und führen Sie den Server aus.
$ python manage.py runserver
in dem Verzeichnis aus, in dem sich manage.py befindet. *Nachdem Sie bestätigt haben, dass der Server gestartet wurde, greifen Sie mit Ihrem Browser auf "http: //127.0.0.1: 8000 / hello /" zu. Wenn "Hallo! Python & Django!" Angezeigt wird, ist dies erfolgreich.
Nächstes Mal werde ich eine einfache Web-API mit Django implementieren
Recommended Posts