【问题标题】:How do we persist previous request values in second request python我们如何在第二个请求python中保留以前的请求值
【发布时间】:2015-12-10 14:52:33
【问题描述】:

我在第一个请求中设置了用户名和密码。但是,我需要在第二个请求中保留用户名和密码。我们如何在 python 中做到这一点? 我正在使用 python Flask 框架。 http://flask.pocoo.org/docs/0.10/quickstart/#sessions 在这篇文章中显示了这样的会话。

from flask import Flask, session, redirect, url_for, escape, request

app = Flask(__name__)

@app.route('/')
def index():
    if 'username' in session:
        return 'Logged in as %s' % escape(session['username'])
    return 'You are not logged in'

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return '''
        <form action="" method="post">
            <p><input type=text name=username>
            <p><input type=submit value=Login>
        </form>
    '''

我试过这样的。

from flask import Flask, session, redirect, url_for, escape, request

session['username']= 'Tin Tin'

但我得到运行时错误。有什么提示吗?

更新代码,

@app.route('/session/')
def session():
    session['tmp'] = 'hey it is working'
   # print session['tmp']
   # session.pop('tmp', None)
  #  print session['tmp']
    return render_template('hello.html', name ='session')


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

设置key后报错

TypeError: 'function' object does not support item assignment

【问题讨论】:

  • 看起来可以。
  • 无操作。它不起作用。
  • 能否添加错误回溯?
  • 尝试记录 request.form['username'] 的值并检查其是否有效。你得到了什么错误
  • 不要;您不必设置app.secret_key 才能使会话正常工作吗?

标签: python session flask


【解决方案1】:

不要将您的路由方法命名为“会话” - 您与 flask.session 冲突。

from flask import Flask, session, render_template

app = Flask(__name__)

@app.route('/session/')
def set_session():
    session['tmp'] = 'hey it is working'
    return render_template('hello.html', name ='session')

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

【讨论】:

    猜你喜欢
    • 2018-06-05
    • 2021-07-25
    • 2019-01-14
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    相关资源
    最近更新 更多