如何从一个视图在每个模板中显示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
扩展它。提及