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

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

by:授客 QQ:1033553122

 

测试环境

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

posted @ 2020-07-20 23:14  授客  阅读(275)  评论(0编辑  收藏  举报