Приложение Flask - не может передать значение модалу подтверждения перед удалением сообщения - PullRequest
0 голосов
/ 06 октября 2018

Мне нужна ваша помощь с моим приложением для блогов.Я сделал простую панель со списком всех сообщений, администратор может редактировать или удалять любые из них.Опция редактирования в порядке.Но для опции удаления я пытаюсь выполнить шаг подтверждения с помощью модального режима.Мой код ниже.

{% block body %}
  <h1>Dashboard <small> Welcome {{session.username}} </small></h1>
  <a class="btn btn-success" href="/add_article">Add Article</a>
  <hr>
  <table class="table table-striped">
    <tr>
      <th>ID</th>
      <th>Title</th>
      <th>Author</th>
      <th>Date</th>
      <th></th>
      <th></th>
    </tr>
    {% for article in articles %}
      <tr>
        <td>{{article.id}}</td>
        <td>{{article.title}}</td>
        <td>{{article.author}}</td>
        <td>{{article.create_date}}</td>
        <td> <a href="edit_article/{{article.id}}" class="btn btn-default pull-right"> Edit </a></td>
        <td>

          <!-- Button trigger modal -->
          <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#exampleModalCenter">
            Delete
          </button>
          <!-- Modal -->
          <div class="modal fade" id="exampleModalCenter">
            <div class="modal-dialog modal-dialog-centered" role="document">
              <div class="modal-content">
                <div class="modal-header">
                  <h5 class="modal-title" id="exampleModalLongTitle">Deleting Post </h5>
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                  </button>
                </div>
                <div class="modal-body">
                  <p>Are you sure you want to delete this post?</p>
                </div>
                <div class="modal-footer">
                  <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>

                  <form action="{{url_for('delete_article', id=article.id)}}" method="post">
                    <input type="submit" value="Delete" class="btn btn-danger">
                  </form>
                </div>
              </div>
            </div>
          </div>


        </td>
      </tr>
    {% endfor %}
  </table>
{% endblock %}

Проблема: действие формы генерирует одинаковый URL (/ delete_article / 1) для всех сообщений.Пожалуйста помоги.С уважением, Хоссейн

1 Ответ

0 голосов
/ 06 октября 2018

Проблема заключалась в повторном использовании модального идентификатора.Как модальный код в цикле, так и для всех постов были одинаковые идентификаторы.Вот почему функция просмотра получала тот же URL.

Решение (три изменения в приведенном выше коде):

data-target = "# exampleModalCenter" -> data-target = "# exampleModalCenter {{article.id}}"

id = "exampleModalCenter" -> id = "exampleModalCenter {{article.id}}" *

и

id = "exampleModalLongTitle" -> id = "exampleModalLongTitle {{article.id}} "

...