0

假设我有以下项目:

myproject/
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
        templates/
            base.html
    app1/
        __init__.py
        admin.py
        models.py
        urls.py
        views.py
        templates/
            base.html
            index.html

我想要一个基本模板,所有其他应用程序都将使用它,在myproject/template/base.html.
然后,我想在app/templates.

一种选择是写在 myproject/settings.py 中:

TEMPLATE_DIRS = (
    "/dir/to/myproject/myproject/templates",
    "/dir/to/myproject/app1/templates",
)

但是,这是最好的方法吗?

4

2 回答 2

1

app_directoriesDjango通过默认安装的加载程序自动支持这一点。请参阅文档

于 2013-07-12T11:48:19.973 回答
0

也许您可以执行以下操作:

#settings.py
import os
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = (
    os.path.join(PROJECT_PATH, 'templates'),
    os.path.join(PROJECT_PATH, 'app1/templates'),
)

这将使您免于编辑设置文件中的每个绝对路径,以防您碰巧移动项目。

于 2013-07-12T11:45:22.477 回答