django

上下文渲染器

2017-06-09  本文已影响0人  leomei91

我们可以用上下文渲染器来处理一些公共的变量,来提供给所有模板使用。

第一步

settings目录下新建一个文件context_processor.py,内容如下:

#-*- coding: utf-8 -*-
from django.conf import settings as local_settings
#这里是一些公共变量,所有模板都能使用
def settings(request):
    return {'settings': local_settings}
def ip_addr(request):
    return {'ip_addr': request.META['REMOTE_ADDR']}

第二步

把自定义的上下文加入到settings.py中,如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+'\web\\templates'],
        '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',
                'exblog.context_processor.settings',
                'exblog.context_processor.ip_addr',
            ],
        },
    },
]

第三步

直接在xx.html中使用

ip: {{ip_addr}}
debug: {{settings.DEBUG}}
上一篇下一篇

猜你喜欢

热点阅读