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