Flask render_template не перезагружает сайт с новыми переменными – я неправильно думаю?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Flask render_template не перезагружает сайт с новыми переменными – я неправильно думаю?

Сообщение Гость »


Я делаю частный проект и использую Flask для создания веб-приложения.

Я хочу отображать в списке элементы, загруженные из базы данных SQL.

В окне по умолчанию будет показан полный список всех элементов.

Используя флажки в качестве входных данных фильтра на сайте, я хочу отображать обновленные элементы после установки или снятия флажка. Я делаю это с помощью EventListener. После установки или снятия флажка обновленные значения фильтра пересылаются с помощью команды request.open. В этой команде значения фильтра будут преобразованы в строковые значения JSON.

Таким образом, будет создан новый HTML-запрос, а необходимые для фильтрации значения будут находиться внутри URL-адреса. В моем скрипте Python есть специальный маршрут, который обрабатывает URL-адреса, внутри которых есть эти строковые значения.

Значения поступают правильно, а команда SQL получает правильные элементы из базы данных. Но эти значения не будут отображаться правильно, когда я передам их методу render_template().

Есть ли у меня ошибка в мышлении или это должно сработать (хотя если должно работать, то должно работать)?

Код для тестирования:

index.html:

Обновить {% для имени в именах %} {{ name.id }} {{ name.first_name }} {{ name.last_name }}
{% конец для %} app.py:

из импорта SQL CS50 из фляги импорта Flask, перенаправление, render_template импортировать JSON # Настроить приложение приложение = Колба(__name__) # Настройте библиотеку CS50 для использования базы данных SQLite. db = SQL("sqlite:///db/test.db") db_names = db.execute("SELECT * FROM test ORDER BY id;") @app.route("/", методы = ["POST", "GET"]) индекс защиты(): """Показать домашнюю страницу со списком имен""" return render_template("index.html", имена = db_names) @app.route("/index/, ", методы = ["GET"]) def indexfiltered(first_name, Last_name): """Показать домашнюю страницу с отфильтрованным списком""" first_names = (json.loads(first_name)) Last_names = (json.loads(last_name)) filtered_names = db.execute("SELECT * FROM test WHERE first_name = ? OR Last_name = ?;", [first_names], [last_names]) печать (фильтрованные_имена) return render_template("index.html", имена = filtered_names) javascript.js:

функция обновления() { var first_name = "Джен" var last_name = "Вок" константный запрос = новый XMLHttpRequest(); console.log(имя, фамилия) request.open("GET", `/index/${JSON.stringify(first_name)}, ${JSON.stringify(last_name)}`) запрос.отправить(); } Создайте базу данных с именем test.db, используя этот код:

CREATE TABLE тест( идентификатор int, строка first_name, строка Last_name ); INSERT INTO test(id, first_name, Last_name) VALUES (1, «Джон», «Фитиль»); INSERT INTO test(id, first_name, Last_name) VALUES (2, «Джонни», «Вики»); INSERT INTO test(id, first_name, Last_name) VALUES (3, «Джен», «Век»); INSERT INTO test(id, first_name, Last_name) VALUES (4, «Джон», «Вок»); INSERT INTO test(id, first_name, Last_name) VALUES (5, «Джин», «Вик»); INSERT INTO test(id, first_name, Last_name) VALUES (6, «Джин», «Фитиль»); requirements.txt:

cs50 Колба Попробовал, как показано во фрагментах выше. Я ожидал, что страница перезагрузится/перерисуется с новыми значениями, но она снова показывает только исходные значения. Я не хочу, чтобы страница перезагружалась полностью, поскольку эти элементы отображаются только в небольшой части моего приложения.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Flask перезагружает только определенный шаблон, а не всю страницу
    Гость » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Гость
  • Типизированный просмотр возможен? Или я неправильно об этом думаю
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Типизированный просмотр возможен? Или я неправильно об этом думаю
    Anonymous » » в форуме C++
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Gunicorn не перезагружает работника
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • PagedListAdapter перезагружает данные без заполнителей
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»