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}} 访问到该属性

posted @ 2017-09-04 17:30  testForever  阅读(219)  评论(0)    收藏  举报