命名空间 django 应用程序中的静态和模板文件

应用程序中的 statictemplates 文件夹也可能包含一个名为 app ex. blog 的文件夹,这是一个用于防止命名空间污染的约定,所以我们引用像/blog/base.html 而不是/base.html 这样的文件,它们提供了我们引用的文件的更清晰的信息。保留命名空间。

示例:blogsearch 应用程序中的 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")