Таблицы Django 2: ошибка django.template.context_processors.request

Я установил таблицы модулей 2, и у меня есть следующая проблема:

Значение исключения: для тега {% querystring %} требуется, чтобы файл django.template.context_processors.request находился в конфигурации шаблона в settings.TEMPLATES[]OPTIONS.context_processors), чтобы теги включенного шаблона работали правильно.

Мой код:

Settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR + '/llamadas/plantillas')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.core.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.request',
            ],
        },
    },
]

Views.py

def home(request):
    if request.user.is_authenticated():
        llamadas = CallEntry.objects.all()
        return render_to_response('inicio.html', {'llamadas': llamadas})
    else:
        return HttpResponseRedirect('/accounts/login/')

Inicio.html

{% load render_table from django_tables2 %}
<!doctype html>
<html>
    <head>
        <link rel="stylesheet" href="{{ STATIC_URL }}django_tables2/themes/paleblue/css/screen.css" />
    </head>
    <body>
        {% render_table llamadas %}
    </body>
</html>

Какие-либо предложения?

Спасибо!

2 ответа

Решение

render_to_response ярлык больше не рекомендуется.

Использовать render вместо этого, чтобы использовать контекстные процессоры.

return render(request, 'inicio.html', {'llamadas': llamadas})

В ваших настройках есть 2 context_processors.request:

'django.core.context_processors.request',

'django.template.context_processors.request',

может быть, нужен только один...

В одних из моих проектов я использую только: 'django.core.context_processors.request', но переменная в шаблоне, ваши llamadas, является объектом типа TableReport.

Другие вопросы по тегам