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ます。

1 つのオプションは、myproject/settings.py に書き込むことです。

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

しかし、これはそれを行うための最良の方法ですか?

4

2 に答える 2

1

Django はapp_directories、デフォルトでインストールされるローダーを介して、これを自動的にサポートします。ドキュメントを参照してください。

于 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 に答える