【问题标题】:Key Error in Flask SessionsFlask 会话中的关键错误
【发布时间】:2018-10-14 09:56:53
【问题描述】:

所以我一直在使用会话将数据从一个装饰器传递到另一个装饰器。但是现在每次我创建一个新的会话变量时,我都会从一个页面到另一个页面得到一个 KeyError。意思是,我的第三页到第四页出现了会话错误;但是我在从第二页到第三页添加一个新的会话变量时遇到了同样的问题,即使我有四个其他会话变量没有给我任何错误。

我的代码类似于下面@laila 发布的代码:

from flask import Flask, render_template
from flask import request, session, url_for,abort,redirect

app = Flask(__name__)

app.config['SECRET_KEY'] = 'secret'


@app.route('/'):
def first():
    session['this_one']='hello'
    render('template.html')

@app.route('/second')
def second():
   it=session['this_one']
    render('other_page.html')

if __name__ == '__main__':
    app.run(debug=True)

【问题讨论】:

  • 您是不是错过了“加载选择的配置,然后通过将其传递给应用程序来创建 Session 对象”的部分? pythonhosted.org/Flask-Session

标签: python session flask


【解决方案1】:

代码好像有语法错误。请试试下面的代码,应该没问题:

from flask import Flask, render_template
from flask import request, session, url_for, abort, redirect

app = Flask(__name__)

app.config['SECRET_KEY'] = 'secret'


@app.route('/')
def first():
    session['this_one'] = 'hello'
    return render_template('template.html')


@app.route('/second')
def second():
    it = session.get('this_one', 'not found')
    return render_template('other_page.html')


if __name__ == '__main__':
    app.run(debug=True)

【讨论】:

    猜你喜欢
    • 2018-11-17
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 2021-12-01
    • 2014-01-25
    • 1970-01-01
    • 2013-06-10
    • 2016-01-11
    相关资源
    最近更新 更多