• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Flask- MySQL:如何处理有效载荷以插入到数据库?

python 来源:e_mam106 22次浏览

我试图插入一个有效载荷到数据库,我有这样的代码:Flask- MySQL:如何处理有效载荷以插入到数据库?

@app.route('/login', methods=['POST']) 
def login(): 
    if request.method == 'POST': 
     data = request.get_json() 
     credentials = jsonify(data) 
    cur = mysql.connection.cursor() 
    cur.execute('''INSERT INTO User (username, fb_id, auth_token, date_joined) 
       VALUES (%(username)s, %(fb_id)s, %(auth_token)s, %(date_joined)s''', 
        credentials) 
    return "ok" 

这是我想测试出对邮差样品JSON:

{ 
    "username": "edjones", 
    "fb_id": "aklsjdla123", 
    "auth_token": "alksdjaks", 
    "date_joined": 12309201910 
} 

这是我得到的邮差错误:

args = tuple(map(db.literal, args)) 
TypeError: argument 2 to map() must support iteration 

什么是用c直接处理有效载荷的方式?


===========解决方案如下:

Request.get_json()返回解析 JSON体,和jsonify()串行数据JSON和把它包装在响应。游标的​​方法需要参数序列或映射图作为第二个参数,但是您将它传递给Response。挂断电话,以jsonify()

@app.route('/login', methods=['POST']) 
def login(): 
    credentials = request.get_json() 
    cur = mysql.connection.cursor() 
    cur.execute('''INSERT INTO User (username, fb_id, auth_token, date_joined) 
       VALUES (%(username)s, %(fb_id)s, %(auth_token)s, %(date_joined)s''', 
       credentials) 
    return "ok" 

既然你已经限制了公认的方法在route()装饰到邮政,如果后卫应该是多余的。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)