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

Статус
Закрыто для дальнейших ответов.

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 581
457
83
Доброго времени суток. Есть шаблон 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 %}

Windows 7
Python 3.8.3
-yqt5 5.15.0
alembic 1.4.2
bcrypt 3.1.7
cffi 1.14.0
click 7.1.2
cryptography 2.9.2
dominate 2.5.2
et-xmlfile 1.0.1
Flask 1.1.2
Flask-Bootstrap 3.3.7.1
Flask-Login 0.5.0
Flask-Migrate 2.5.3
Flask-SQLAlchemy 2.4.4
Flask-WTF 0.14.3
itsdangerous 1.1.0
jdcal 1.4.1
Jinja2 2.11.2
Mako 1.1.3
MarkupSafe 1.1.1
numpy 1.19.1
openpyxl 3.0.5
pandas 1.1.1
paramiko 2.7.1
Pillow 7.2.0
pip 20.2.3
Pmw 2.0.1
pycparser 2.20
PyNaCl 1.4.0
pyperclip 1.8.0
PyQt5 5.13.2
PyQt5-sip 12.8.0
pyqt5-tools 5.13.2.1.6rc1
pystray 0.16.0
python-dateutil 2.8.1
python-dotenv 0.14.0
python-editor 1.0.4
pytz 2020.1
pywin32 228
setuptools 49.1.0
six 1.15.0
SQLAlchemy 1.3.19
visitor 0.1.3
Werkzeug 1.0.1
WTForms 2.3.3
xlrd 1.2.0
xlwt 1.3.0
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 581
457
83
Я нашел вариант, сделать скрытое поле для передачи данных, которые нужны, вопрос можно закрывать, всем спасибо
 
Статус
Закрыто для дальнейших ответов.

Форум IT Специалистов