Передайте первичный ключ в Bootstrap Модальный в Django - PullRequest
0 голосов
/ 03 мая 2020

Привет. Я пытаюсь передать первичный ключ объекта в модальную форму bootstrap. Я обнаружил, что одна конкретная строка кода не позволяет модалу даже запускаться, но я не знаю почему. Я выделю это ниже. Так чего мне не хватает? Если я изменяю URL в convert.html, запускается модал, но мне нужно использовать URL, показанный ниже.

base. html

....

<div id="modal-div"></div>

proforma_list. html


{%for item in proformas %}
          <tr class="table-item">
            ...
            <td>
              <a id="convert-modal" class="open-modal" data-url="{% url 'ConvertProformaView' item.pk %}">Convert</a> 
            </td>
          <tr>
        {% endfor %}
<script>
////////////////// CONVERT PROFORMA FORM ///////////////////////
var modalDiv = $("#modal-div");
console.log(modalDiv)

$("#convert-modal").click(function() {
  $.ajax({
    url: $(this).attr("data-url"),
    success: function(data) {
      modalDiv.html(data);
      $("#myEdit").modal();
    }
  });
});
</script>

конвертировать. html

{% load crispy_forms_tags %}
<div class="modal fade" id="myEdit" role="dialog">
  <div class="modal-dialog">
    <form  class="well contact-form" method="POST" action="{% url 'ConvertShipmetView' %}"> <!---THIS URL CREATES THE PROBLEM, BUT I DONT KNOW WHY! IF I PUT A DIFFERENT URL HERE IT WORKS FINE--->
      {% csrf_token %}
      <div class="modal-content">
        <div class="modal-header">
        <h5 class="modal-title">New Shipment</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
        <div class="modal-body">
          {{shipmentForm|crispy}}
        </div>
        <div class="modal-footer">
          <button  type="submit" class="btn btn-default">Submit</button>
          <button  value="" type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        </div>
      </div>
    </form>
  </div>
</div>

urls.py

url(r'^convert/proforma/(?P<pk>\d+)/$', ConvertProformaView, name='ConvertProformaView'),
...