Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中的消息中间件未显示在模板中_Python_Django_Django Templates_Django Views - Fatal编程技术网

Python Django中的消息中间件未显示在模板中

Python Django中的消息中间件未显示在模板中,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,我试图在Django中使用消息中间件,但视图根本没有呈现它。我所拥有的: views.py messages.success(request, 'Test message.') return render_to_response('base.html') template.html <ul class="messages"> {% for message in messages %} <li class="{{ message.tags }}">{{

我试图在Django中使用消息中间件,但视图根本没有呈现它。我所拥有的:

views.py

messages.success(request, 'Test message.')
return render_to_response('base.html') 
template.html

<ul class="messages">
    {% for message in messages %}
    <li class="{{ message.tags }}">{{ message }}</li>
    {% endfor %}
</ul>
自从我上次使用这个函数以来,每次调用视图时,它都会打印一条消息,所以它肯定会将消息保存在某个地方。它只是没有发送到模板

其他信息:

  • Django版本=(1,2,3,'最终版',0)
  • 我将'django.contrib.messages.context_processors.messages'添加到模板_context_processors。注意:我没有模板上下文处理器,即使从Django 1.2开始它就应该存在,所以我只是添加了它。我猜它可能工作不正常,这可能是问题所在,但我不知道如何检查它是否正确配置
  • 我跟着去设置它

您需要使用一个而不仅仅是
上下文
(默认情况下
render\u to\u response
使用)来呈现模板,以使模板中的模板上下文处理器可用。查看以下内容,然后进行更改:

return render_to_response('base.html', context_instance=RequestContext(request))

您需要使用而不仅仅是
上下文
(默认情况下,
渲染到响应
使用)来渲染模板,以使模板中的模板上下文处理器可用。查看以下内容,然后进行更改:

return render_to_response('base.html', context_instance=RequestContext(request))

谢谢,这很有帮助,但我认为如果我将'django.contrib.messages.context\u processors.messages'添加到模板\u context\u processors中,这是不必要的。或者我需要两者吗?将其添加到
模板\u上下文\u处理器
只意味着它已启用。您需要在视图中使用
RequestContext
,以便在模板中实际使用
TEMPLATE\u context\u processors
中使用的所有上下文处理器。此外,检查
渲染
快捷方式:@Dor我已经检查了渲染快捷方式,为了能够使用它,我必须升级到较新版本的Django。现在我正在让一切重新开始工作,然后我可能可以使用render。谢谢,这很有帮助,但我认为如果我在模板上下文处理器中添加“django.contrib.messages.context\u processors.messages”,就没有必要了。或者我需要两者吗?将其添加到
模板\u上下文\u处理器
只意味着它已启用。您需要在视图中使用
RequestContext
,以便在模板中实际使用
TEMPLATE\u context\u processors
中使用的所有上下文处理器。此外,检查
渲染
快捷方式:@Dor我已经检查了渲染快捷方式,为了能够使用它,我必须升级到较新版本的Django。现在我正在让所有的东西重新工作,然后我可能可以使用渲染。