我已经尝试了几天,但我没有成功使用会话来存储列表(例如,笔记列表)。
下面是我写的代码。它成功存储了 2 个变量,当我尝试将第三个变量添加到列表时,它会覆盖第二个变量而不是附加到列表中
from flask import Flask, render_template, request, session
from flask_session import Session
app = Flask(__name__)
app.config['SECRET_KEY'] = "some_random"
app.config['SESSION_TYPE'] = 'filesystem'
app.config['SESSION_PERMANENT']= False
Session(app)
@app.route("/notes", methods=["GET","POST"])
def addNotes():
if 'notes' not in session:
session['notes'] = []
if request.method == "POST":
note=request.form.get("note")
notes_list = session['notes']
notes_list.append(note)
session['notes'] = notes_list
return render_template("notes.html", notes=session['notes'])
注释.html:
{% extends "layout.html" %}
{% block heading %}
Sticky Notes
{% endblock %}
{% block body %}
<ul>
{% for note in notes %}
<li>{{ note }}</li>
{% endfor %}
</ul>
<form action="{{ url_for('addNotes') }}" method="POST">
<input type="text" name="note" placeholder="Enter a note here">
<button>Add Note</button>
</form>
{% endblock %}
请建议是否有任何方法可以存储、获取和更新存储在会话对象中的列表变量。
我也尝试过使用 session.modification=True ,这是基于stackoverflow的一些建议。