Здесь у меня есть одна функция для newsletter
, которая будет использоваться в каждом шаблоне в проекте. Проблема в том, что сообщение об успехе отображается только в шаблоне страницы контакта. Я поместил django тег сообщения {{message}}
только на base.html
. Работает нормально на странице contact.html
. Соответствующее сообщение для контакта и новостной рассылки корректно отображается в шаблоне contact_page
, но не в других шаблонах. Другие шаблоны также расширяют 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})