Таблицы 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.