2015-03-11 2 views
1

Я установил имя пользователя и пароль в первом запросе. Тем не менее, мне нужно сохранить имя пользователя и пароль во втором запросе. Как мы это делаем в python? Я использую фреймворк python. http://flask.pocoo.org/docs/0.10/quickstart/#sessions в этой статье показан сеанс следующим образом.Как мы сохраняем предыдущие значения запроса во втором запросе python

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) 

После установки ключа, я получаю ошибку

TypeError: 'function' object does not support item assignment 
+0

Похоже, что это сработает. – 101

+0

nOpe. он не работает. – newday

+0

Вы можете добавить отзыв о проблеме, пожалуйста? – irqed

ответ

3

Не имя Ваш маршрутизируемого метод "сеанса" - вы конфликтует с 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) 
+1

спасибо, я тоже просто понял. – newday

Смежные вопросы