Изменение поведения ключа словаря сеанса Flask при использовании другого ключаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Изменение поведения ключа словаря сеанса Flask при использовании другого ключа

Сообщение Anonymous »

Я пытаюсь понять, как хранить данные формы в сеансах Flask. Я столкнулся с поведением, которое мне показалось странным при добавлении данных в словарь сеанса, который уже был определен в предыдущем запросе.
Я определяю следующее представление:

Код: Выделить всё

@bp.route("/new-form", methods=("GET", "POST"))
def new_form():

if request.method == "POST":

if not "x" in session:
session["x"] = []
session["x"].append(json.dumps(request.form))

return session.get("x")

return render_template("main/new-form.html")
Я ожидаю, что session["x"] сохранит свои данные и добавит новые данные json из формы при каждом запросе. Однако всегда отображается только самая последняя форма, добавленная к сеансу["x"].
Чего я действительно не понимаю, так это того, что когда я добавляю еще один ключ в сеанс перед добавлением данных формы в сеанс данные формы действуют так, как я ожидал, т.е. session["x"] становится длинным списком каждой формы, которая отправляется, пока я не удалю данные из сеанса:

Код: Выделить всё

if request.method == "POST":
session["idontgetit"] = 1
...
Просто добавление строки session["idontgetit"] = 1 приводит к тому, что session["x"] ведет себя так, как я ожидал.
Я использую кнопку «Назад» в своем браузере, чтобы проверить это. Я не знаю, приведет ли это к каким-либо неожиданным последствиям. Он ведет себя последовательно в обоих направлениях.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ferent-key
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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