名稱空間 django 應用程式中的靜態和模板檔案
應用程式中的 static
和 templates
資料夾也可能包含一個名為 app 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")