python - 烧瓶不存储会话(缓存)
问题描述
我有一个使用 Flask 构建的 Python 项目,并且我用谷歌浏览器测试显示页面。今天无故会话和闪烁停止正常工作(对象不保存)。但在其他浏览器或 chrom 隐身模式下,它仍然可以正常工作。我能找到的唯一区别是 request.headers['cookie']:
在铬:tabstyle=raw-tab; csrftoken=...; _ga=GA1.1.xx;订单=...
在其他浏览器和隐身模式下: session=...
可能是什么原因?这是某种缓存问题吗?
我的代码:
应用程序.py
app = Flask(__name__)
app.secret_key = os.urandom(16)
视图.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'))
解决方案
推荐阅读
- kubernetes - kubernetes hpa 请求 cpu 和目标 cpu 值
- javascript - 是否可以从父集合(firebase cloud firestore)访问子集合?
- azure - 使用 SamAccountName 将 AzureApplicationID 添加到 Active Directory 组
- javascript - 如何在更改时验证输入字段并向用户显示消息?
- reactjs - 如何在 axios.get 函数中传递参数?
- javascript - 如何使用 Nativescript 获取两个位置之间的距离
- azure - 值不能为空。参数名称:在 Azure 中使用 ServiceBus 触发器时的提供程序
- tally - 我们如何将 TDL 代码添加到 Tally XML 请求中
- google-apps-script - 应用脚本中有没有办法访问我的同事日历并检查他们的可用性?
- python-3.x - Python:导入模块和库