the*_*eld 5 python django templates view messages
我正在尝试使用django消息框架在用户退出应用程序时显示消息.我是django的新手,文档对我来说不是很清楚.为什么我的消息没有显示?
https://docs.djangoproject.com/en/dev/ref/contrib/messages/#adding-a-message
VIEW.PY
from django.contrib import messages
def signout(request):
logout(request)
messages.add_message(request, messages.INFO, 'Signout Successful.')
return HttpResponseRedirect(reverse(index))
def index(request):
lf = LoginForm()
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
auth_login(request, user)
return render_to_response('test/home.html', {'login_form': lf,}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
模板 - 索引
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我正在使用django1.3.并且需要以下内容(请注意.tz被注释掉了)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
#"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages")
Run Code Online (Sandbox Code Playgroud)
从TEMPLATE_CONTEXT_PROCESSORS上的文档:
Django 1.3中的新增内容:此版本中添加了django.core.context_processors.static上下文处理器.
Django 1.4中的新增内容:此版本中添加了django.core.context_processors.tz上下文处理器.
Sky*_*and 10
您是否添加了上下文处理器和中间件?