如果可用,则从站点标签加载模板
项目描述
为多站点设置提供定制的模板加载器。
此工具适用于使用 django.contrib.sites 的用户,适用于多站点场景,其中不同站点可以有不同的模板,而不仅仅是不同的样式。
自定义模板加载器将尝试查找当前活动站点的模板,并在找不到时回退到通用模板。
安装
使用pip安装
pip install django-label-templates
配置
已安装的应用程序
请确保 django.contrib.sites 在您的 INSTALLED_APPS 中。
指定模板加载器
您还需要在设置中启用加载器,类似于Django的缓存模板加载器。加载器接受一个可迭代的加载器列表(列表或元组),用于查找模板。示例 - 以及最常用的 - 设置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# APP_DIRS must be False if you specify the loaders yourself
'APP_DIRS': False,
'DIRS': [
os.path.join(PROJECT_DIR, 'templates'),
],
'OPTIONS': {
'loaders': [
('label_templates.loaders.Loader', [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
]),
],
},
},
]
如果您愿意,此模板加载器也可以包装在其他加载器中,例如 django.template.loaders.cached.Loader。
配置站点标签
最后一步需要额外的一个自定义设置:SITELABELS。
# the import is safe and does NOT depend on django.conf.settings
from label_templates.sites import SiteLabels, SiteChoice
class SITELABELS(SiteLabels):
site = SiteChoice('example.com', site_id=1)
site2 = SiteChoice('example2.com', site_id=2)
此设置用于查找模板的标签前缀。ID为1的网站将解析为子文件夹site/,因此要加载模板example.html,加载器将首先尝试查找site/example.html,如果失败,则尝试直接加载example.html。
对于ID为2的网站,使用前缀site2。
限制
由于{% extends %}标签使用相同的加载器配置,因此您不能让特定标签的模板从同名的一般模板继承。
一种解决方案如下
templates/ ├── mylabel/ | └── base.html # extends _base.html and overrides stuff ├── _base.html └── base.html # extends _base.html, overrides nothing
支持的版本
此库针对Django 1.8和1.9进行了测试。对于Django版本,相应的Python版本也适用。请查阅tox.ini以获取最新的构建矩阵。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
django-label-templates-1.0.3.tar.gz (5.8 kB 查看哈希值)
构建分布
关闭
django_label_templates-1.0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b1a2ee1dab1eadbf9a8ac0051e99b35f5e57c0f8e9579b04481344b3d966006e |
|
MD5 | 22a6cfc6ecaad9e4b3b314a7eeb0aa2e |
|
BLAKE2b-256 | f8a9a022375e4b2745c05bd2f869b09510bd806c9a580b5c3faa056eb726fddc |
关闭
django_label_templates-1.0.3-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 99d43d9296d477e20ccd4f631ffdcd4b3ad189bc8e6fe72a12320592a6207a2d |
|
MD5 | 5e8b6b2663cee4a97e53265f4b34b55c |
|
BLAKE2b-256 | 74b93806a528687888f10a2097ba55bea7e1611dad1394200a94dad6cb38b9cb |