如何从一个视图在每个模板中显示django成功消息?
这里我有一个功能用于如何从一个视图在每个模板中显示django成功消息?,django,django-views,Django,Django Views,这里我有一个功能用于时事通讯,它将在项目中的每个模板中使用。这里的问题是成功消息仅显示在联系人页面模板中。我已经放置了django消息标签{message}仅在base.html中。它在contact.html页面中工作正常。联系人和通讯的相应消息在contact\u页面模板中正确显示,但在其他模板中不正确。其他模板也扩展了base.html,就像contact.html一样 如何在每个模板中显示时事通讯成功消息。我不想在每个模板中编写{{message}。有什么解决办法吗 views.py d
时事通讯
,它将在项目中的每个模板中使用。这里的问题是成功消息仅显示在联系人页面模板中。我已经放置了django消息标签{message}
仅在base.html
中。它在contact.html
页面中工作正常。联系人和通讯的相应消息在contact\u页面
模板中正确显示,但在其他模板中不正确。其他模板也扩展了base.html
,就像contact.html
一样
如何在每个模板中显示时事通讯成功消息。我不想在每个模板中编写{{message}
。有什么解决办法吗
views.py
def contact(request):
form = ContactForm()
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
form.save()
messages.success(request, 'Your message has been sent successfully.')
return redirect('contact:contact_page')
return render(request, 'contact/contact_page.html', {'form': form})
def newsletter(request):
form = NewsletterForm()
if request.method == "POST":
form = NewsletterForm(request.POST)
if form.is_valid():
form.save()
messages.success(request, 'Thank you for your subscription.')
return redirect(request.META['HTTP_REFERER'])
return render(request, 'base.html', {'news_form': form})
创建base.html,仅包含指向样式表和js文件的链接。你可以在那里找到你的位置
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% block content %}{% endblock %}
{%if消息%}
{消息%中的消息为%s}
{{message}}
{%endfor%}
{%endif%}
{%block content%}{%endblock%}
就在块内容上方,并从中扩展所有其他模板。因此,最好创建一个home.html
文件并将新闻信函呈现到那里,然后从base.html
扩展它。提及