【问题标题】:dict returning as string through flask urldict 通过烧瓶 url 作为字符串返回
【发布时间】:2020-08-21 18:17:04
【问题描述】:

在学校项目中使用 Flask pymongo,这是一个分享食谱的网站。 我想返回我在主页上使用的字典,以便网站知道单击时它应该显示什么食谱。但是,在终端中它似乎返回(我想要的方式)作为字典但是当它实际返回一个字典的字符串,所以我不能使用它。

来自 App.py:

@app.route('/', methods=['GET', 'POST'])
def home():
    if request.method == 'GET' or request.form.get('search') == '':
        recipes = mongo.db.recipe.find()
        return render_template('home.html', recipes=recipes)

从主页:循环遍历 mongodb 中的食谱,以便我可以获取 recipe.recipe_name 等值。

{% for recipe in recipes %}
<a href="{{url_for('view_recipe', recipe=recipe)}}" 

我将变量返回错误吗?还有另一种方法吗? 非常感谢所有帮助!

【问题讨论】:

    标签: python mongodb flask pymongo


    【解决方案1】:

    在获取请求到后端时,你必须做json.loads(your_json),它可以在后端使用。它将您提到的 dict 字符串转换为有效的 json。

    【讨论】:

    • 它回来了:json.decoder.JSONDecodeError:期望用双引号括起来的属性名称:第1行第2列(char 1)
    • 当您从recipes = mongo.db.recipe.find() 打印recipes 时,它会显示什么?
    • 您正在发送一个 pymongo 游标,它实际上指向 mongo 中的数据。它不是有效的 json。您必须遍历光标才能获得所需的值。
    • 您能分享一下您的食谱数据库中的内容吗?
    猜你喜欢
    • 2020-10-02
    • 2018-03-26
    • 2019-05-03
    • 1970-01-01
    • 2017-04-26
    • 2013-08-13
    • 2012-09-06
    • 1970-01-01
    • 2019-03-23
    相关资源
    最近更新 更多