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

原文地址:https://www.cnblogs.com/luckyflower/p/7474632.html