Django
Projektstruktur
Suche…
Repository> Projekt> Standort / Konf
Für ein Django-Projekt mit requirements und deployment tools unter Quellcodeverwaltung. Dieses Beispiel baut auf Konzepten der Two Scoops of Django auf . Sie haben eine Vorlage veröffentlicht :
repository/
docs/
.gitignore
project/
apps/
blog/
migrations/
static/ #( optional )
blog/
some.css
templates/ #( optional )
blog/
some.html
models.py
tests.py
admin.py
apps.py #( django 1.9 and later )
views.py
accounts/
#... ( same as blog )
search/
#... ( same as blog )
conf/
settings/
local.py
development.py
production.py
wsgi
urls.py
static/
templates/
deploy/
fabfile.py
requirements/
base.txt
local.txt
README
AUTHORS
LICENSE
Hier apps und conf Ordner enthalten user created applications und core configuration folder für das Projekt sind.
static Ordner " static und " templates im project enthalten statische Dateien bzw. html markup Dateien, die im gesamten Projekt global verwendet werden.
Alle App-Ordner blog , accounts und search können (meistens) auch static Ordner und templates enthalten.
Statische Dateien und Vorlagendateien in Django-Apps
static Ordner und der templates in den Apps sollten möglicherweise auch einen Ordner mit dem Namen app ex. blog Dies ist eine Konvention, die verwendet wird, um die Verschmutzung des Namespaces zu verhindern. Wir verweisen daher auf Dateien wie /blog/base.html statt auf /base.html wodurch die Datei, auf die wir referenzieren, /base.html und der Namespace erhalten bleibt.
Beispiel: templates - Ordner im blog und search enthalten eine Datei mit dem Namen base.html , und wenn Verweis auf die Datei in views wird Ihre Anwendung verwirrt , in der Datei zu machen.
(Project Structure)
.../project/
apps/
blog/
templates/
base.html
search/
templates/
base.html
(blog/views.py)
def some_func(request):
return render(request, "/base.html")
(search/views.py)
def some_func(request):
return render(request, "/base.html")
## After creating a folder inside /blog/templates/(blog) ##
(Project Structure)
.../project/
apps/
blog/
templates/
blog/
base.html
search/
templates/
search/
base.html
(blog/views.py)
def some_func(request):
return render(request, "/blog/base.html")
(search/views.py)
def some_func(request):
return render(request, "/search/base.html")