如何将字典从路由函数传递到另一个函数中?

2024-05-19 19:17:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python/Flask的新手。我需要将名为“dict”的“cmz”函数中的dictionary传递给“form”函数,以便调用html模板并将相同的dictionary传递给页面。 我被卡住了,因为当我运行它时,我只得到一个字符串值而不是一个对象。你知道吗

我试图在“form”函数的参数“params”之前设置“**”,但对我无效。你知道吗

这是我的代码,谢谢任何人的建议!你知道吗

@app.route('/form<params>')
def form(params):
    return render_template('index.html', result = params)

@app.route('/page/<distrib>')
def cmz(distrib):
    if distrib == "cmz":
        dict = {'aaa' : 'bbb', 'ccc' : 'ddd'}
        return redirect(url_for('form', params = dict))

Tags: 函数form模板appflaskdictionaryreturndef
2条回答

这可以通过使用会话来完成。你知道吗

你需要用

from flask import session

您还需要确保使用

app.secret_key = 'a random string'

之后,您可以在会话中添加字典

dict = {'aaa' : 'bbb', 'ccc' : 'ddd'}
session['dict'] = dict

在另一条路径中,您可以通过反转该行来检索字典

dict = session['dict']

如果这不能解决您的问题,请告诉我,我很乐意帮助您!

您可以以字符串形式传递字典(例如"{1:2,2:3}"),然后将其转换回来。 幸运的是,关于如何做到这一点,已经有一个答案很好的问题-Convert a python dict to a string and back

最简单的方法似乎是:

import json
json.dumps()

相关问题 更多 >