上下文渲染器

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

第一步

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}}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容