美文网首页django
上下文渲染器

上下文渲染器

作者: leomei91 | 来源:发表于2017-06-09 14:51 被阅读0次

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

    第一步

    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}}
    

    相关文章

      网友评论

        本文标题:上下文渲染器

        本文链接:https://www.haomeiwen.com/subject/ryqfqxtx.html