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")