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

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

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Django 通过自定义context_processors实现自定义tag