Python flask:在视图函数之间传递参数

Python flask:在视图函数之间传递参数,python,ajax,flask,Python,Ajax,Flask,如何在flask中的视图之间传递变量 编辑:为了便于说明,假设我在user()中设置了一个名为id的变量。当然,这是一个局部变量,对user_add()不可见。有没有一种方法可以很好地与用户_add交流这个值,从而保留本地性 我看到了以下代码: @app.route('/users', methods=['GET', 'POST']) def user(): ... var = setvar() --- return render_template('users.

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

编辑:为了便于说明,假设我在user()中设置了一个名为id的变量。当然,这是一个局部变量,对user_add()不可见。有没有一种方法可以很好地与用户_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'
我正在向“/user/add”发送一篇ajax帖子


编辑:为美学将ID更改为var

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

您可以执行以下操作:

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'

请务必查看文档,以确保正确使用。以上只是为了说明基本概念。

不要覆盖内置的
id()
函数。对不起,是指身份证。我想你是指身份证!这只是一些示例代码,而不是我使用的实际代码。
setid()
的目的是什么?当您使用
user\u add()
添加用户时,数据库不应该为您生成
id
吗?或者这
id
是出于其他目的吗?好吧,请显示实际代码,因为这没有什么意义。这个id是用于其他目的而不是数据库,这是您挂在id概念上的东西!这是可行的,但它使用了会话cookie。有没有一种不经过客户端就传递变量的方法?
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'