我有一个使用Flask构建的Python项目,并且测试了显示带有google chrome的页面。今天,会话和闪烁无故停止正常工作(对象无法保存)。但是在其他浏览器中或在铬隐身模式下,它仍然可以正常工作。我能找到的唯一区别是request.headers ['cookie']:
在chrom中:tabstyle = raw-tab; csrftoken = ...; _ga = GA1.1.x.x; order = ...
在其他浏览器和隐身模式下:session = ...
可能是什么原因?这是某种缓存问题吗?
我的代码:
app.py
app = Flask(__name__)
app.secret_key = os.urandom(16)
views.py
@app.route('/add_item/<string:item_id>')
def add_item(item_id):
item = get_item()[item_id]
session.setdefault('container', {})
session['container'].setdefault(item_id, item.copy())
session['container'][item_id].setdefault('quantity', 0)
session['container'][item_id]['quantity'] += 1
session.modified = True
return redirect(url_for('container'))
@app.route('/container')
def container():
if 'container' in session:
return render_template('container.html', item=session['container'])
else:
flash('It is empty!', category='danger')
return redirect(url_for('catalog'))