在我的django应用程序中,我正在进行表单输入 . 一旦该表单被验证,我在Django Message Framework的帮助下显示成功消息 .
Current State
当我将表单重定向到相同的url(表单的url)时,我能够在提交表单后在模板中显示成功消息
我的views.py
if form.is_valid():
form_data = form.save()
messages.success(request, 'Submited Successfully')
return redirect('form-url')
What I want
提交表单后,我想在同一页面上显示成功消息( form-url
),然后我想重定向到新的URL list-of-submitted-forms
.
为此,我在views.py上做了类似的事情
if form.is_valid():
form_data = form.save()
messages.success(request, 'Submited Successfully')
return redirect('list-of-submitted-forms')
The problem I am facing
我正在重定向到新的url.But而没有在 form-url
页面上获得成功消息 . 当我转到 form-url
页面时(通过单击重定向到该URL的按钮),显示 'Submited Successfully'
的消息
我的HTML / JS
<script>
{% if messages %}
{% for message in messages %}
{% if message.tags == "success" %}
swal({text:"{{ message }}",icon: "success",timer: "4000",buttons: false})
{% endif %}
{% endfor %}
{% endif %}
2 回答
我遇到了同样的问题,这就是我所做的
而不是从控制器重定向到另一个页面,首先添加查询参数?redirect ='/ newpage' . 并重定向到相同的上一页 .
从JavaScript中捕获此查询参数并在几秒钟后延迟运行widow.location ='/ newpage'
有很多方法可以做你想做的事情,我告诉你一个方法来做一个
JsonResponse
.views
js