Anfänger. Es ist eine Erklärung, dass ein solches Verständnis in der Praxis gut sein kann.
Erstellen Sie in Django zunächst eine Vorlage für Ihr Projekt und Ihre App mit dem folgenden Befehl:
python
> django-admin startproject some_project
> cd some_project
> python manage.py startapp some_app
Dann ist die Struktur des Ordners wie folgt.
python
> tree /f some_project
C:\***\SOME_PROJECT
│ manage.py
│
├─some_app
│ │ admin.py
│ │ apps.py
│ │ models.py
│ │ tests.py
│ │ views.py # <=Frühe Ansicht(Aussicht)Ist 1 Dateistruktur
│ │ __init__.py
│ │
│ └─migrations
│ __init__.py
│
└─some_project
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py
│
└─__pycache__
settings.cpython-37.pyc
__init__.cpython-37.pyc
Wie oben erwähnt, besteht die Ansicht beim Erstellen einer App aus einer Datei namens views.py.
Wenn Sie es einfach versuchen, ist es in Ordnung, wie es ist, Im eigentlichen Projekt, auch wenn der Start etwas dauert Es ist besser, der Wartungsfreundlichkeit Vorrang einzuräumen.
Die Struktur von View kann mithilfe des Python-Mechanismus geändert werden. Ich werde kurz erklären, aus welcher Perspektive Sie sich die Konfiguration vorstellen können, einschließlich Empfehlungen.
Klassenbasiert wird empfohlen, da Sie möglicherweise die Standardklasse in Ihrem Projekt verwenden möchten.
Es ist für mehrere Personen problematisch, eine Datei zu verarbeiten. Es wird daher empfohlen, sie zu verpacken.
Beim Verpacken wird empfohlen, mit \ _ \ _ init \ _ \ _ zu importieren. Py. Nur urls.py importiert also Ansichten Es ist kein Muss, aber aus Sicht des Anrufers
python
from some_app.views.category.sub_category. import SomeView
als
python
from some_app.views import SomeView
Ist sanfter, weil es Sie nicht auf die Zusammensetzung unter der Verpackung aufmerksam macht.
Ich denke nicht, dass einer besser ist, Ich finde es gut, die Regeln zu bestimmen.
Zum Beispiel
Die Funktion --CRUD wird in einer Klasse pro Datei definiert
Und so weiter. Bei der Festlegung der Regeln sollten die folgenden Punkte berücksichtigt werden.
-Ist es einfach, sich den zugehörigen Quellcode vorzustellen und zu durchsuchen, wenn Sie auf den Bildschirm schauen? -Ist es nicht störend, wenn Sie mit einem Editor bearbeiten?
Es mag etwas extrem sein, aber wir empfehlen Folgendes:
** Listenbildschirm ** ListView (django.views.generic.ListView) ** Andere ** View (django.views.View)
ListView wird empfohlen, da es die Page Nation-Funktion verwenden kann. Wir empfehlen nicht, andere generische Ansichten zu verwenden.
Zunächst gibt es viele Dinge, aber der einfache Grund ist folgender. ・ Das Lesen des Quellcodes dauert einige Zeit => ・ Die Vorteile sind es nicht wert => Es wird kompliziert. ・ Das Debuggen wird schwierig
Außerdem hat Django Model (QuerySet) / Form. Es gibt einige nützliche Funktionen, die Lernkosten erfordern.
Anstatt die generische Sichtweise zu verstehen Es ist auf jeden Fall ratsam, Lernkosten dafür aufzuwenden.
Als Beispiel, CreateView (django.views.generic) hat die folgende Vererbungsbeziehung.
das ist alles.