命名空间 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")