Django模态内容

时间:2017-12-29 01:46:17

标签: javascript jquery python django bootstrap-modal

我对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,模态正在加载正确的内容,但我无法返回上一页。

0 个答案:

没有答案