我对Bootstrap 4模态和Django有一个奇怪的问题。
我的网站应该显示编辑地址的模式,并在编辑后返回上一页。为此,我在URL地址中传递了2个参数。
如果给出两个参数而不是modal来编辑地址,则会加载整个页面。
这是我的观点:
class AddresssUpdateView(generic.UpdateView):
model = Address
template_name = 'Order_app/address_form.html'
form_class = AddressForm
def get_success_url(self):
return reverse_lazy('Order_app:detail', kwargs={'pk': self.object.pk})
这是我的模态内容(address_form.html):
<div class="modal-dialog modal-lg">
<div class="modal-content">
{% if address %}
<form role="form" action="{% url 'Order_app:edit_address' pk address_id %}" method="POST">
<div class="modal-header">
<h3>Edit</h3>
</div>
{% endif %}
<div class="modal-body">
{% csrf_token %}
<div class="panel panel-default">
<div class="panel-body">
{{ form.as_p }}
</div>
</div>
</div>
<div class="modal-footer">
<div class="col-lg-12 text-right">
<input type="submit" class="btn btn-primary" name="submit" value="Save">
<button type="button" class="btn btn-default" onclick="return hide_modal()">
exit
</button>
</div>
</div>
</form>
</div>
这是我的urls.py文件:
url(r'^$', views.ZleceniaListView.as_view(), name='lista_zlecen'),
url(r'^(?P<pk>[0-9]+)', views.OrderDetailView.as_view(), name='detail'),
url(r'^(?P<pk>[0-9]+)/edit/(?P<adres_id>[0-9]+)/$', views.AddressUpdateView.as_view(), name='edit_address'),
我的主页模板片段:
<button type="button" class="btn btn-warning btn-sm"
onclick="return abrir_modal('{% url 'Order_app:edit_address' order.pk address.pk %}')"
data-toggle="modal" data-target="#Modal">
edit
</button>
<div class="modal" id="Modal" tabindex="-1" role="dialog"></div>
<script>
function abrir_modal(url) {
$('#Modal').load(url, function () {
$(this).modal('show');
});
return false;
}
function hide_modal() {
$('#Modal').modal('hide');
return false;
}
$(document).ready(function () {
var table = $('#tab').dataTable({});
});
</script>
如果我尝试传递一个参数addressid_is
,模态正在加载正确的内容,但我无法返回上一页。