首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django模板目录切换

问Django模板目录切换
EN

Stack Overflow用户
提问于 2009-09-28 08:01:06
回答 1查看 1.3K关注 0票数 2

有谁知道在django中动态切换TEMPLATE_DIR的方法。

我需要为移动版本创建一组模板,并希望模板坐在里面有自己的目录,而不是在根模板目录:我想2个模板目录‘模板’和'mobile_templates‘,而不是后者使用’模板/移动‘。

我必须写我自己的模板加载器吗?

EN

回答 1

Stack Overflow用户

发布于 2009-09-28 17:18:32

您可以在设置文件中设置多个模板目录,Django将按照您列出的顺序搜索它们。问题是它并不关心你想要从a目录还是b目录中获取template_x.html。如果你在a目录和b目录中有相同的template_x,它将从列出的第一个目录中拉出,这可能会令人困惑。一个不错的方法是:

在某个地方只有一个模板目录叫做'templates‘。在这个文件夹中有一个名为'mobile‘的文件夹和一个名为'default’(或其他什么)的模板。然后,当你调用你的模板时,你也只需要使用目录路径。

在您的视图中:

代码语言:javascript
复制
# some mobile view (everything omitted brevity)
get_template('mobile/some_template.html')

# some normal view (everything omitted brevity)
get_template('default/some_template.html')

在您的模板中:

移动模板:

代码语言:javascript
复制
{% extends 'mobile/base.html' %}

Normal模板:

代码语言:javascript
复制
{% extends 'default/base.html' %}

设置文件:

代码语言:javascript
复制
TEMPLATE_DIRS = (
    'D:/some/path/to/templates',
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1485922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档