Я пытаюсь показать пользователю сообщение об успешном завершении после успешной регистрации, чтобы сообщить им, что его учетная запись создана и они вошли в систему. Я хочу перенаправить пользователя на домашнюю страницу после регистрации. Пользователь перенаправлен, но сообщения не отображаются.
Мой шаблон (используя материализацию для всплывающего сообщения):
{% if messages %}
{% for message in messages %}
{% if message.tags == 'success'%}
<script>M.toast({html: "{{message}}", classes: 'green rounded', displayLength:2000});</script>
{% elif message.tags == 'info'%}
<script>M.toast({html: "{{message}}", classes: 'blue rounded', displayLength:2000});</script>
{% elif message.tags == 'warning'%}
<script>M.toast({html: "{{message}}", classes: 'orange rounded', displayLength:10000});</script>
{% elif message.tags == 'error'%}
<script>M.toast({html: "{{message}}", classes: 'red rounded', displayLength:10000});</script>
{% endif %}
{% endfor %}
{% endif %}
Мой взгляд:
def register(request):
if request.method == "POST":
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
username = form.cleaned_data.get('username')
messages.success(request, f'New Account Created: {username}')
login(request, user)
messages.info(request, f"You are now logged in {username}")
return redirect("juicy:homepage")
else:
for msg in form.error_messages:
messages.error(request, f"{msg}: {form.error_messages[msg]}")
form = UserCreationForm
return render(request,
"juicy/register.html",
context={"form": form})