django request in template

前端 未结 5 2048
闹比i
闹比i 2020-12-06 15:56

I\'ve enabled the django request processor

TEMPLATE_PROCESSORS = (
\"django.core.context_processors.auth\",
\"django.core.context_processors.debug\",
\"djang         


        
相关标签:
5条回答
  • 2020-12-06 16:32

    Are you sure you don't have the request variable available to the template? What happens when you remove the line

    'request':request,
    

    that's different from when that line is present. If your template loads the same either way, the problem is with your template.

    0 讨论(0)
  • 2020-12-06 16:36

    Be advised that as of Django 1.8, this has changed to a "TEMPLATES" setting, and in the default configuration, the request processor is NOT included.

    TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            # insert your TEMPLATE_DIRS here
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                # Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this
                # list if you haven't customized them:
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'django.template.context_processors.static',
                'django.template.context_processors.tz',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },]
    

    Just add the request processor back in to fix the issue:

    'django.core.context_processors.request',
    

    For more info, see the Django Upgrading Docs.

    0 讨论(0)
  • 2020-12-06 16:38

    TEMPLATE_CONTEXT_PROCESSORS instead of TEMPLATE_PROCESSORS

    0 讨论(0)
  • 2020-12-06 16:42

    MIDDLEWARE_CLASSES=( ... 'yourfolder.yourfile.yourclass', ... yourclass:

    class AddRequestToTemplate: process_templaet_response(self, request, response): response.context_data['request']=request

    0 讨论(0)
  • 2020-12-06 16:43

    settings.py:

    TEMPLATE_CONTEXT_PROCESSORS = (
      # ...
      'django.core.context_processors.request',
      # ...
    )
    
    0 讨论(0)
提交回复
热议问题