Django 表 2:错误 django.template.context_processors.request
Django tables 2: error django.template.context_processors.request
我安装了模块表 2,但遇到下一个问题:
Exception Value: Tag {% querystring %} requires
django.template.context_processors.request to be in the template
configuration in settings.TEMPLATES[]OPTIONS.context_processors) in
order for the included template tags to function correctly.
我的代码是:
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>
有什么建议吗?
谢谢!
不再推荐 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 类型的对象。
我安装了模块表 2,但遇到下一个问题:
Exception Value: Tag {% querystring %} requires django.template.context_processors.request to be in the template configuration in settings.TEMPLATES[]OPTIONS.context_processors) in order for the included template tags to function correctly.
我的代码是:
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>
有什么建议吗?
谢谢!
不再推荐 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 类型的对象。