IscanderChe30 апреля 2024 г. 4:22
Во Flask рендер шаблона не передаётся в браузер
Доброе утро!
Имеется вот такой шаблон:
<!doctype html> <html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-5.3.2/css/bootstrap.min.css') }}"> <script src="{{ url_for('static', filename='css/bootstrap-5.3.2/js/bootstrap.bundle.min.js') }}"></script> <script src="{{ url_for('static', filename='js/script.js') }}"></script> </head> <body> <p>Tag: {{ tag }}, Button: {{ button }}</p> <form id="tag_form" method="POST"> <label for="text">Tag</label> <input id="text" name="text" size="20" type="text" value=""> <button id="btn" type="button" class="btn btn-outline-secondary btn-sm" data-bs-toggle="button">Personal</button> <input id="submit" name="submit" type="submit" value="Add tag"> </form> </body> </html>
JS-скрипт прикрепляет к POST-запросу дополнительные данные:
document.addEventListener('DOMContentLoaded', (event) => { form = document.getElementById('tag_form'); function readButton(event) { event.preventDefault(); const formSent = new FormData(form); const xhr = new XMLHttpRequest(); const button = document.getElementById('btn').getAttribute('aria-pressed') formSent.append('button', button); xhr.open('POST', 'http://127.0.0.1:5000'); xhr.send(formSent); return false; } form.addEventListener('submit', readButton); });
Python-обработчик эти данные корректно принимает:
from flask import Flask from flask import render_template, request app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def print_form_data(): if request.method == 'POST': tag = request.form.get('text') button = request.form.get('button') return render_template('index.html', title='Add tag', tag=tag, button=button) # эта строка шаблон с полученными данными не выводит return render_template('index.html', title='Add tag') # эта строка выводит шаблон
В консоли браузера ответ получается корректно, а на самой страничке ничего не показывается. Почему?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Дмитрий
- 7 мая 2024 г. 9:40
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:60баллов,
- Очки рейтинга-1
d
- dsfs
- 26 апреля 2024 г. 4:56
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
Последние комментарии
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5 февраля 2024 г. 1:50
EVA25 декабря 2023 г. 10:30
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
добавить qlineseries в функции в функции: "GPlotter::addSeries(QString title, QVector &arr)" я вызываю метод setChart(...), я в конструктор передал адрес на QChartView элемент
BlinCT5 мая 2024 г. 5:46
Best Indian Food Restaurant In Cincinnati OH Ready to embark on a gastronomic journey like no other? Join us at App india restaurant and discover why we're renowned as the Best Indian Food Restaurant In Cincinnati OH . Whether y…
Evgenii Legotckoi2 мая 2024 г. 14:07
IscanderChe30 апреля 2024 г. 4:22