Django
プロジェクトの構造
サーチ…
リポジトリ>プロジェクト>サイト/会議
ソース管理下のrequirements
とdeployment tools
備えたDjangoプロジェクト用。この例は、Djangoの2つのスクープからの概念に基づいています。彼らはテンプレートを公開しています:
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
ここで、 apps
フォルダとconf
フォルダには、 user created applications
とプロジェクトのcore configuration folder
がそれぞれ含まuser created applications
。
project
ディレクトリ内のstatic
およびtemplates
フォルダには、 project
全体でグローバルに使用されている静的ファイルとhtml markup
ファイルが含まれています。
また、すべてのアプリケーションフォルダのblog
、 accounts
、 search
は、 static
フォルダとtemplates
フォルダが(ほとんど)含まれてstatic
あります。
djangoアプリケーション内の静的ファイルとテンプレートファイルの名前空間
static
およびtemplates
フォルダには、アプリ名のフォルダが含まれている必要がありますex. blog
これは名前空間の汚染を防止するために使用される規則ですので、我々は次のようにファイルを参照/blog/base.html
ではなく/base.html
我々が参照し、名前空間を保持しているファイルの詳細明快さを提供します。
例: blog
やsearch
アプリケーション内のtemplates
フォルダには、名前がbase.html
ファイルが含まれています。 views
ファイルを参照すると、アプリケーションはどのファイルをレンダリングするのか混乱します。
(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")
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow