通过自定义context_processors实现自定义tag

by:授客 QQ:1033553122

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

测试环境

Win7

Django 1.11

 

实践

步骤1

应用根目录下,新建自定义context上下文处理器对应的py文件(例中为 project_dir/website/context_processors.py,和views.py文件在同一级目录)

 

context_processors.py

def customer_processor(request):

temp_dic = {'user_id': 10003, 'name':'shouke'}

 

return {'userinfo': temp_dic}

 

 

步骤2

修改settings.py文件的TEMPLATES变量,新增自定义处理器

TEMPLATES = [

    {

        'BACKEND': 'django.template.backends.django.DjangoTemplates',

       ……

        'OPTIONS': {

            'context_processors': [

……,

                'website.context_processors.customer_processor',

            ],

        },

    },

]

 

步骤3

在html模板文件中使用,形如以下

<p>

name is {{ userinfo.name}}

</p>

 

参考链接:

https://docs.djangoproject.com/en/1.11/ref/templates/api/#using-requestcontext

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄