0
def custom_proc(request):
"A context processor that provides 'app', 'user' and 'ip_address'."
return {
    'app': 'My app',
    'user': request.user,
    'ip_address': request.META['REMOTE_ADDR']
}

上面的代码是我的代码。请求上下文。我将此代码写在文件 context_processors.py 中。并且后面的代码在 settings.py 文件中: 'context_processors': [ 'django.template.context_processors.custom_proc', 如何在 view.py 文件中使用上下文处理器?

        return render(request,'template1.html',
        {'message': 'I am view 1.'})```
    enter code here
4

1 回答 1

0

上下文处理器的路径'django.template.context_processors.custom_proc'不正确。

如果您context_processors.py在名为 的应用程序目录中创建了该文件my_app,那么您settings.py应该具有以下内容:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
                'my_app.context_processors.custom_proc',
            ],
        },
    },
]
于 2020-02-15T05:37:58.357 回答