码迷,mamicode.com
首页 > 其他好文 > 详细

django notes 三:Template 的查找

时间:2015-08-02 18:08:54      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

django 中有 2种 Template Loader

django.template.loaders.filesystem.Loader
django.template.loaders.app_directories.Loader

filesystem.Loader 会根据 settings 中  TEMPLATES 下配置的 DIRS  查找 template

TEMPLATES = [
    {
        BACKEND: django.template.backends.django.DjangoTemplates,
        DIRS: [os.path.join(BASE_DIR, templates)],
        APP_DIRS: False,
        OPTIONS: {
        },
    },
]

app_directories.Loader 顾名思义会到各个 app 下面的 templates 文件夹下去查找 template

 TEMPLATES = [
    {
        BACKEND: django.template.backends.django.DjangoTemplates,
        DIRS: [],
        APP_DIRS: True,
        OPTIONS: {
        },
    },
]
APP_DIRS 为 True 表示启用 app_directories.Loader loader

通常把模板放到最外层和放到各个 app 下面都是一样的,公共的模板可以放在最外层,各个 app 相关的可以放到 app 下面,因为 app 是独立的,可能会被用到多个项目中。
在各个 app 下面的 templates 文件夹下通常会多加一层文件夹,并以该 app 的名字来命名,这主要是为了防止模板重名, 因为当启用 app_directories.Loader 时
django 会从 INSTALLED_APPS 中从上到下依次查找各个app下的模板文件, static 文件也是一样的。
INSTALLED_APPS = (
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    blog,
)

 

django notes 三:Template 的查找

标签:

原文地址:http://www.cnblogs.com/lesliefang/p/4696330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!