django template设置
Diango Template 设置#
在做django项目的时候遇到了一个权限管理的需求,看了下文档比较繁杂,就简单的实现了下权限这部分。
其中需要在所有html的template中根据不同权限显示不同内容,此时每个html中都需要访问一个通用的权限值。如果在每个py文件里加入对应的权限值略显笨拙。终于找到了如下方法来进行配置:
django 支持自定义template,返回各个views下template共用的参数
1 配置settings中的TEMPLATES:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'myapp.context_processors.test_processor'
],
},
},
]
2 在INSTALLED_APPS中增加myapp
3 在myapp目录下新增context_processors.py
4 在context_processors.py中加入如下代码
def test_processor(request):
test = request.session.get("test") or ""
return {'test': test}
此时即可在所有的template中使用 {{test}} 访问到该属性