名稱空間 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")