我想使用Flask sessioncookie 在请求之间保存ID ,但是Internal Server Error当我执行请求时,我得到了一个结果.
我制作了一个简单的Flask应用程序原型来演示我的问题:
#!/usr/bin/env python
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def run():
session['tmp'] = 43
return '43'
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
为什么我session执行请求时无法使用以下值存储cookie?
我在CentOS 6.3上使用Python 2.7,Apache + mod_wsgi运行
当我在localhost时,事情很好.但是,当我在Azure中的vm上运行代码时,我看不到会话信息是否跨页面持久存在.
基本上在我看来,我有类似的东西:
@frontend.route('/')
def index():
session['foo'] = 'bar'
print session['foo']
return redirect(url_for("frontend.page2"))
@frontend.route('page2')
def page2():
print session
Run Code Online (Sandbox Code Playgroud)
打印输出是:
bar
<SecureCookieSession {}>
Run Code Online (Sandbox Code Playgroud)
我对apache的wsgi配置是:
WSGISocketPrefix /var/run/wsgi
<VirtualHost *:80>
ServerName example.com
ServerAlias example.com
WSGIDaemonProcess myproj threads=5 processes=5
WSGIScriptAlias / /home/mydir/myproj/apache/myproj.wsgi
<Directory /home/mydir/myproj>
WSGIScriptReloading On
WSGIProcessGroup myproj
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我有secret_key集:
app.secret_key = os.urandom(24)
Run Code Online (Sandbox Code Playgroud)
我尝试过设置SERVER_NAME,但它没有帮助:
app.config['SERVER_NAME'] = 'example.com'
Run Code Online (Sandbox Code Playgroud)
关于我如何调试更多的任何想法?
谢谢!
我正在编写一个快速应用程序来查看一个带有一些AJAX样式调用的巨型XML文件viewgroup.我的问题session['groups']不是坚持下去.我有一些旧的阵列只有4个成员卡在某处(cookie?..).view调用时会出现该值.然后,我用最近打开的包含20多个成员的xml文件中的信息覆盖该会话成员.
但是,当viewgroup调用时,会话变量已恢复为旧值,数组中只有4个成员!
代码后跟输出.注意3个sessionStatus()电话
def sessionStatus():
print "# of groups in session = " + str(len(session['groups']))
@app.route('/')
def index():
cams = [file for file in os.listdir('xml/') if file.lower().endswith('xml')]
return render_template('index.html', cam_files=cams)
@app.route('/view/<xmlfile>')
def view(xmlfile):
path = 'xml/' + secure_filename(xmlfile)
print 'opening ' + path
xmlf = open(path, 'r')
tree = etree.parse(xmlf)
root = tree.getroot()
p = re.compile(r'Group')
groups = []
for g in root:
if (p.search(g.tag) is not None) and (g.attrib['Comment'] …Run Code Online (Sandbox Code Playgroud)