Django:有没有办法在嵌套文件夹中加载模板?

时间:2017-07-28 22:26:42

标签: python django templates django-templates

此刻我的应用程序包含100多个模板文件:

-app/
--templates/
---template1.html
---template2.html
--- ...
---template100.html

但我想在一些文件夹中分发这些文件,如下所示:

-app/
--templates/
---masters/
----master1.html
----master2.html
---components/
----component1.html
----component2.html
---others/
----other1.html
----other2.html

问题:有没有办法从模板文件夹中的文件夹加载模板,或者所有模板都必须位于模板文件夹中?

1 个答案:

答案 0 :(得分:1)

是的,有可能,您唯一需要检查的是settings.py和您的观点。

settings.py:

TEMPLATES = [
    {
        ...
        'DIRS': [os.path.join(
            BASE_DIR,
            'yourapp/templates',
            #'yourapp/templates/componements', avoid to refactor each view
            #'yourapp/templates/masters',
            ... etc ...
        )],
        ...
    },
]

只需在 views.py 上链接到folder/*.html,如下例所示:

...
return render(request, 'componements/componement1.html', {...})
#return render(request, 'componement1.html', {...}), no refactor solution