在Flask应用初始化时设置可编辑变量

时间:2017-06-16 16:32:38

标签: python flask

我想在app STARTS时设置一个特定的变量。我可能需要稍后编辑此变量。我怎么能这样做?

我知道全局变量使用不好,因为所有用户都会受到修改全局的一个用户的影响。编辑配置值是不好的做法(我记得在某处读过)?如果是这样,最好的方法是什么?

我的用例是设置MongoDB集合名称。用户可能需要根据他们想要执行的分析类型更改他们正在使用的集合。

1 个答案:

答案 0 :(得分:1)

由于它是特定于每个用户的,因此将其存储在会话中。如果它不在会话中,请使用默认值。

from flask import request, session

@app.route('/change_collection', methods=['POST'])
def change_collection():
    session['collection'] = request.form['name']
    return '', 204

def get_collection():
    name = session.get('collection', 'default')
    return my_data[name]