[django]自定义全局context

  1. 创建一个context processor函数
    新建一个文件命名为custom_processors.py,把它放到项目app文件夹(例如我的blog文件夹),添加一个返回字典的函数,其代码如下:
def blog_time(request):    
    _copyright = " Fblog 2016"   
    return {"copyright":_copyright}

2.修改 settings 文件
打开项目的settings.py文件,添加如下代码:

    TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates/')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'blog.custom_processors.blog_time', #添加这个
            ],
        },
    },
]
  1. 模板中添加自定义的变量
    在要测试的模板里添加{{_copyright}},访问的时候就会变成我们赋予其的值了,但由于在CONTEXT_PROCESSORS添加的函数在settings里,即使你不调用它,所有的views都自动调用它,可能会带来性能影响,请酌情使用

你可能感兴趣的:([django]自定义全局context)