如何在用户登录后跟踪用户(Flask)

时间:2014-09-30 22:36:20

标签: javascript python html login flask

我在我的网站上创建了两个简单的视图。在第一个用户登录时,我将会话设置为'logged_in':

@app.route('/', methods=['GET', 'POST'])
def login():
  error = None
  if request.method == 'POST':
    result = query_db('select * from user where (user_name = ? and password = ?)',
            [request.form['username'], request.form['password']], one=True)
  if result is None:
        error = 'Invalid username and/or password'
    else:
        id, username, password = result
        session['logged_in'] = True
        return redirect(url_for('add_form'))
return render_template('login.html', error=error)

在另一个中我有一个我的用户可以填写的表单。我将从表单中检索到的数据传递给我的后端,我想将它存储在一个数据库中,用户名(或id)作为主键。我不确定跟踪用户名/用户ID的最佳方法是什么?此时我只知道用户已登录。我可以将用户名存储为全局变量,也可以将其作为参数传递给我的某个函数,但这些对我来说似乎是不好的解决方案。有没有更好的方法与Flask一起做?

第二种观点:

@app.route('/form', methods=['GET', 'POST'])
def metric_requirements():
  if request.method == 'POST':
    for m in request.form.getlist('form'):
        ...
        [store the data in a db with the username as the primary key]
        ...
  return render_template('add_form.html')

0 个答案:

没有答案