[PYTHON] Erste Django-Entwicklung

Ich habe zum ersten Mal versucht, Django, das beliebte Python-Framework, zu verwenden. Dieses Mal habe ich mich auf das offizielle Tutorial bezogen.

Referenz: Django-Dokumentation

Django Installation

Dieses Mal werden wir virtualenv verwenden, um eine virtuelle Umgebung für Django zu erstellen (Python-Version ist 3.5.1).

$ pyenv virtualenv 3.5.1 django

Wechseln Sie in das Verzeichnis, das während der Entwicklung verwendet wurde, und legen Sie die gerade erstellte virtuelle Umgebung fest.

$ mkdir django
$ cd django
$ pyenv local django

Dann installiere Django mit pip.

$ pip install django

Überprüfen Sie, ob es richtig installiert wurde.

$ python -c "import django; print(django.get_version())"
1.9.4

Ich glaube, ich habe es geschafft.

Erstellen eines Django-Projekts

Siehe Schreiben Ihrer ersten Django-App, Teil 1.

Erstellen Sie zunächst ein Django-Projekt mit dem Namen "mysite".

$ django-admin startproject mysite

Wenn Sie den Pfad nach dem Projektnamen angeben, Sie können ihn anscheinend am angegebenen Speicherort erstellen (Ich habe es nicht versucht) ).

Durch Ausführen dieses Befehls wurde ein Verzeichnis mit dem Namen "mysite" erstellt.

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

Gehen Sie zum Verzeichnis "mysite" und versuchen Sie, den Server zu starten.

$ python manage.py runserver

Greifen Sie nach Ausführung des Befehls mit einem Browser auf http: //127.0.0.1: 8000 / zu. Die Seite "Willkommen in Django" wurde ordnungsgemäß angezeigt (ich habe vergessen, einen Screenshot zu machen).

Sie können die IP-Adresse oder Portnummer auch ändern, indem Sie im obigen Befehl nach "runserver" "Portnummer" oder "IP-Adresse: Portnummer" nach "runserver" angeben.

Fahren Sie den Server vorerst mit Strg-C herunter.

Erstellen einer Umfrage-App

Als nächstes werden wir eine App machen. Erstellen Sie zunächst die Quelle für die Erstellung der App. Führen Sie den folgenden Befehl im Verzeichnis "mysite" aus.

$ python manage.py startapp polls

Sie haben jetzt ein Verzeichnis mit dem Namen polls.

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

Ich werde den Code von nun an tatsächlich schreiben.

Ändern Sie views.py in dem soeben erstellten Verzeichnis polls wie folgt.

polls/views.py


from django.http import HttpResponse

def index(request):
	return HttpResponse("Hello, world. You're at the polls index.")

Erstellen Sie eine Ansicht (Look), wenn Sie mit dieser Datei auf localhost: 8080 / polls zugreifen (Sie können sie nicht sehen, auch wenn Sie noch darauf zugreifen). Es scheint, dass Sie etwas namens URLconf benötigen, um dies zu sehen. Als nächstes werden wir dies erstellen.

Erstellen Sie eine neue Datei mit dem Namen "urls.py" im Verzeichnis "polls". Schreiben Sie den folgenden Code.

$ vim polls/urls.py

polls/urls.py


from django.conf.urls import url
from . import views

urlpatterns = [
	url(r'^$', views.index, name='index'),
]

Als nächstes bearbeiten Sie "urls.py" in "mysite", eine Ebene über "polls".

mysite/urls.py


from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
	url(r'^polls/', include('polls.urls')),
	url(r'^admin/', admin.site.urls),
]

Das "include ()" in der 5. Zeile scheint verwendet zu werden, um auf andere URLconf-Dateien zu verweisen.

Wenn Sie dies tun können, starten Sie den Server erneut und überprüfen Sie.

$ python manage.py runserver

Greifen Sie mit Ihrem Browser auf "http: //127.0.0.1: 8080 / polls" oder "http: // localhost: 8080 / polls" zu. Wenn "Hallo Welt. Sie befinden sich am Umfrageindex" angezeigt wird, ist dies in "polls / views.py" beschrieben und erfolgreich. Wenn Sie hier auf "http: // localhost: 8080 / admin" zugreifen, wird der Administrator-Anmeldebildschirm angezeigt, obwohl dies nicht im Lernprogramm beschrieben ist. Dieser Bereich wird in der Regex von "About url ()" unten angesprochen.

Dies ist vorerst das Ende von Tutorial 1. Danke für deine harte Arbeit.

Über url ()

Da es eine Beschreibung über "url ()" gab, die in "urls.py" verwendet wurde, werde ich sie schreiben, soweit ich verstehen kann.

url () hat vier Argumente.

url(regex, view [,kwargs, name])

Die letzten beiden (kwargs, name) sind optional.

regex

Wie der Name schon sagt, handelt es sich um einen regulären Ausdruck. Geben Sie hier das URL-Muster an. Für mysite / urls.py, Wenn es mit r '^ polls /' übereinstimmt → Siehe URLconf von polls Wenn es mit r '^ admin /' übereinstimmt → Siehe admin.site.urls Und so weiter.

Ändern Sie als Test "url ()" von "polls / urls.py" wie folgt.

polls/urls.py


	:
url(r'^test', views.index, name='index'),
	:

Wenn ich jetzt den Server speichere und erneut starte und auf "http: // localhost: 8080 / polls" zugreife, wird ein 404-Fehler angezeigt. Fügen Sie als Nächstes nach der vorherigen Adresse eine Zeichenfolge hinzu, die mit "r" ^ test "(z. B. test01) übereinstimmt, um darauf zuzugreifen (Beispiel: http: // localhost: 8080 / polls). Dann wurde, wie im Tutorial, die Zeichenkette richtig angezeigt.

Kurz gesagt, die Adresse wird durch das Regex-Muster bestimmt.

view

Wenn der reguläre Ausdruck des ersten Arguments übereinstimmt, wird die Funktion dieses zweiten Arguments aufgerufen. Das HttpRequest-Objekt wird dieser Funktion als erstes Argument zugewiesen, und alle von Regex erhaltenen Werte werden nach dem zweiten Argument angegeben.

Ich verstehe, dass das HttpRequest-Objekt übergeben wird, bin mir aber über das zweite und die nachfolgenden Argumente nicht sicher. Werden die von GET usw. übergebenen Parameter einbezogen? Ich hoffe, ich kann es verstehen, wenn ich mit dem Tutorial fortfahre.

Recommended Posts

Erste Django-Entwicklung
Erste Django Challenge
[Memo] Django-Entwicklungsumgebung
Django
Entwicklung der Django-Umgebung unter Windows 10
Django Projekt Entwicklungsumgebung Bau
Testgetriebene Entwicklung mit Django Teil 3
Entwicklung einer WEB-Anwendung mit Django [Django-Start]
Testgetriebene Entwicklung mit Django Teil 6
Entwicklung einer WEB-Anwendung mit Django [Anwendungszusatz]
[Für Anfänger] Django -Entwicklungsumgebung Bau-
Testgetriebene Entwicklung mit Django Teil 2
Bereiten Sie Ihre erste Python-Entwicklungsumgebung vor
Django Girls Tutorial Zusammenfassung Erste Hälfte
Anpassung des Django-Verwaltungsbildschirms Erster Schritt
Starten Sie Django zum ersten Mal
Testgetriebene Entwicklung mit Django Teil 1
Testgetriebene Entwicklung mit Django Teil 5
Django-Update
Django Note 4
Entwicklung einer WEB-Anwendung mit Django [Modelldefinition]
DORA-Entwicklung
Django Memorandum
Django-Suche
Django Installation
Entwicklung der WEB-Anwendung mit Django [Grundeinstellung]
Erste Flasche
[Fernentwicklung] Machen wir es zuerst !! (Übung 1)
Django Zusammenfassung
Django-Test
Erster Entwurf
Django # 2 (Vorlage)
Django Note 5
Django zum Anfassen
Berühre Django
Django Zusammenfassung
Entwicklung einer WEB-Anwendung mit Django [Request Processing]
Django Shoho
Erster Python-Review-
Entwicklung einer WEB-Anwendung mit Django [Zusätzliche Vorlage]
Django + Docker
Erste gdb
Erstellen der ersten App mit Django Startprojekt
Django Glossar
Django Installation
Django: Referenzen
Django Note 1
Django Note 3
Django Note 2
Django-Start
Django Memo
Django NullCharField
Entwicklung einer WEB-Anwendung mit Django [Erstellung des Admin-Bildschirms]
Bis zur Erstellung der Django-Anwendung per Terminal (Entwicklungsumgebung)
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie mit der Doker Toolbox eine Django-Entwicklungsumgebung
Von 0 bis Django Entwicklungsumgebung Konstruktion bis Grundbetrieb
Die Entwicklung von Pepper (General Sale First Edition) hat begonnen