我正在运行一个基于Flask应用程序的Web界面,我使用flask中的模块session
来保存用户ID和稍后在界面子页面中使用的其他参数。
我在本地遇到了同样的问题,但设置session.modified = True
为我解决了这个问题。
现在,Web应用程序在本地工作。但是,一旦我使用Apache服务器将其部署在EC2示例上,当我重定向到第二个页面时,会话将丢失所有it参数,并且我得到500:内部服务器错误。
这是我的Flask应用程序的代码片段:
from flask import Flask, request, render_template, jsonify, session, abort
import os, sys, json
import boto3
import conf.credentials as conf
import secrets
#---- SET UP CONNECTIONS ----#
secret = secrets.token_urlsafe(32)
app = Flask(__name__, template_folder='templates')
app.secret_key = secret
@app.route('/<qualtrics_data>')
def index(qualtrics_data):
appliance = request.args.get('appliance')
ID = request.args.get('ID')
session["appliance"] = appliance
session["ID"] = ID
session.modified = True
return render_template("index.html")
当我尝试从会话中检索数据时,会在此处引发错误:
@app.route('/experiment_0')
def experiment_0():
appliance = session["appliance"]
这是错误日志中的错误消息:
enter image description here
任何建议都可能有帮助-谢谢:))
1条答案
按热度按时间oprakyz71#
flask 应用程序的密钥应该是固定的
这个帮我修好了