ФорумПрограммированиеPythonFlask → Как получить переменную из шаблона? Flask

Как получить переменную из шаблона? Flask

  • fgdfr

    Сообщения: 1 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2020 г. 14:42

    Доброго времени суток. Есть шаблон flask, по нажатию на кнопку он показывает модальное окно, предлагает поменять имя клиента. Вопрос, как можно получить переменную db.id из модального окна, чтобы дальше использовать ее для обновления записи в базе данных? Спасибо.

    
    HTML:
    {% extends 'base.html' %}
    
    {% block body %}
        <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-md-4">
          <div class="chartjs-size-monitor" style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px; overflow: hidden; pointer-events: none; visibility: hidden; z-index: -1;">
            <div class="chartjs-size-monitor-expand" style="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;">
              <div style="position:absolute;width:1000000px;height:1000000px;left:0;top:0"></div></div><div class="chartjs-size-monitor-shrink" style="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;">
            <div style="position:absolute;width:200%;height:200%;left:0;top:0;text-align:center;"></div></div></div>
    
          <div class="table-responsive" style="text-align:center;">
            <table class="table table-striped table-sm">
              <thead>
                <tr>
                  <th>Статус</th>
                  <th>ID</th>
                  <th>IP-адрес</th>
                  <th>Имя</th>
                  <th>Подтверждение</th>
                  <th>Время получения</th>
                  <th>Редактирование</th>
                </tr>
              </thead>
              <tbody>
                {% for db in database %}
                <tr>
                  <td><img src="{{ url_for('static', filename=db.img) }}" /></td>
                  <td>{{ db.id }}</td>
                  <td>{{ db.ip }}</td>
                  <td>{{ db.name }}</td>
                  <td>{{ db.confirm }}</td>
                  <td>{{ db.time }}</td>
                  <td><button type="button" class="btn btn-info" data-toggle="modal" data-target="#set_name{{ db.id }}">Изменить имя</button>
                    <button type="button" class="btn btn-info">Удалить</button>
                  </td>
                </tr>
                {% endfor %}
              </tbody>
            </table>
          </div>
        </main>
    
    {% for db in database %}
      <div class="modal fade" id="set_name{{ db.id }}" tabindex="-1" role="dialog" aria-labelledby="settings" aria-hidden="true">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h4 class="modal-title">Изменить имя у клиента</h4>
          </div>
          <form method="post">
          <div class="modal-body">
              <div class="form-group">
                <label class="control-label">Введите новое имя для клиента с ID<br> {{ db.id }}</label><br>
                {{ set_name.name_client(class="form-control", placeholder="Введите имя для клиента") }}
              </div>
          </div>
            <div class="modal-footer">
              {{ set_name.submit(class="btn btn-primary") }}
              <button class="btn btn-light" data-dismiss="modal">Закрыть</button>
            </div>
          </form>
          </div>
        </div>
      </div>
    {% endfor %}
    {% endblock %}
    

Пожалуйста, авторизуйтесь, чтобы написать комментарий!