flask:跨视图函数传递参数

knk*_*knk 2 python ajax flask

如何在flask中的视图之间传递变量

编辑:为了说明的目的,假设我有一个在user()中设置的变量id.当然这是一个局部变量,对user_add()不可见.有没有办法以一种很好的方式用user_add传递这个值来保留局部性?

我在视图中有以下代码:

@app.route('/users', methods=['GET', 'POST'])
def user():
    ...
    var = setvar()
    ---
    return render_template('users.html')

@app.route('/users/add', methods=['GET', 'POST'])
def user_add():
    if request.method == 'POST':
        ...
        var = #somehow get id here
        ---
        return 'user added'
Run Code Online (Sandbox Code Playgroud)

我正在做一个ajax帖子到"/ user/add"

$.ajax({
    ...
    type: "POST"
    url: "/user/add"
    data: data,
    ...
});
Run Code Online (Sandbox Code Playgroud)

编辑:将ID更改为var以获得美学效果

s16*_*16h 7

我不确定确切的用例是什么,但也许可以看看Sessions.

你可以做类似的事情:

from flask import session

@app.route('/users', methods=['GET', 'POST'])
def user():
    ...
    session['var'] = setvar()
    ---
    return render_template('users.html')

@app.route('/users/add', methods=['GET', 'POST'])
def user_add():
    if request.method == 'POST':
        ...
        var = session['var']
        ---
        return 'user added'
Run Code Online (Sandbox Code Playgroud)

请查看文档以确保正确使用它.以上仅用于说明基本概念.