如何在Django项目应用中扩展根HTML文件?

0 投票
1 回答
1268 浏览
提问于 2025-04-17 23:33

下面是我的Django应用的结构:

Project/
    static/
    App1/
    App2/
    App3/
    ...

我有一个Django项目,我想让项目中所有应用的HTML和CSS样式保持一致。

我该如何从每个应用中扩展位于项目文件夹中的HTML模板呢?

到目前为止,我只成功地在每个应用的文件夹内扩展HTML模板。

我的项目设置中,静态文件的路径设置为“/static/”

1 个回答

1

你可以把项目中共用的模板放在 Project/templates 这个文件夹里,然后在你的 settings.py 文件中,把 /path/to/Project/templates 加到 TEMPLATE_DIRS 设置里。记得把根路径放在最前面,这样系统会优先搜索这个路径:

TEMPLATE_DIRS = (
    # Don't forget to use absolute paths, not relative paths.
    "/path/to/Projects/templates",
    #other dirs ...
)

然后,你可以像往常一样从你的应用模板中扩展它:

{# App1/templates/App1/template1.html #}
{% extends "template_in_project_root.html" %}
...

关于 TEMPLATE_DIRS 设置的更多信息

撰写回答