如何在提交django表单后触发引导模式弹出?
在我的index.html模板中,我有一个像这样的标准外观模式
Dim lastCell as Range
Set lastCell = Sheets("Sheet1").Cells(Rows.Count,"K").End(xlUp)
Debug.Print "Last cell's row is: " & lastCell.Row
Debug.Print "Last cell's value is: " & lastCell.Value
Debug.Print "Last cell's address is: " & lastCell.Address
下面同一个index.html我有一个django表单
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
在我的view.py中看起来像这样:
{{ form.non_field_errors }}
{% csrf_token %}
<ul id="robul">
<div class="form-group">
<div class="col-xs-6">
<li id="name" name="{{ form.name.name }}" class="form-control">{{ form.name }}</li>
</div>
</div>
<div class="form-group">
<div class="col-xs-6">
<li id="email" class="form-control">{{ form.email }}</li>
</div>
</div>
<div class="form-group">
<div class="col-xs-6">
<li id="contactmessage" class="form-control">{{ form.contactmessage }}</li>
</div>
</div>
</ul>
答案 0 :(得分:3)
触发它的模态和JS代码生活在与Django表单提交代码不同的上下文中。当您从表单提交中返回时,渲染'index.html'
基本上是新鲜的,因此它基本上等于在页面加载时显示模态。但是,也许你只想在成功提交后展示它。您需要做的是使用一些JS代码来显示页面加载的模态,并在模板渲染上下文中有一些东西来有条件地渲染它。这就是我的想法:
在index.html
:
{% if successful_submit %}
<script type="text/javascript">
$(document).ready(function(){
$("#exampleModal").modal('show');
});
</script>
{% endif %}
在您的视图功能中,将successful_submit
上下文变量添加到您的返回:
return render(request, 'index.html', {'form': form, 'successful_submit': True})
现在,只有在<script>
为successful_submit
时才会呈现True
代码,而POST
仅在成功成功{{1}}之后设置。