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

Posted shouke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Django 通过自定义context_processors实现自定义tag的主要内容,如果未能解决你的问题,请参考以下文章

Django内置Admin

Django内置Admin

html 通过Django的部件,调整自定义表单外观

Django之博客系统:自定义认证

Django 自定义表名和字段名

Django admin:如何通过自定义方法对列进行排序