flask python请求使用JSON数据发布到localhost

时间:2018-07-28 03:17:30

标签: python flask python-requests flask-restplus

我试图使用对我自己的localhost中的API的请求来发布请求。该API用于创建用户。问题是,当我尝试使用Swagger UI时,它可以工作,但是当我尝试使用HTML表单时,页面总是给我永无止境的加载。

这是我的查看代码:

    url = "http://localhost:5000/api/user/"
    email = request.form.get('email')
    username = request.form.get('username')
    password = request.form.get('password')
    jsondata = {
        "email": email,
        "username": username,
        "password": password
    }
    req = requests.post(url, json=jsondata)
    return redirect(url_for('main.main'))

这里是API(使用Flask_restplus)

def post(self):
    data = api.payload
    return save_new_user(data) # store the data to database

这是怎么了?之前谢谢

2 个答案:

答案 0 :(得分:1)

使用 data 参数请求帖子,并且没有 json 参数,请在您的视图上尝试以下代码。

import json,requests
url = "http://localhost:5000/api/user/"
.....
data = json.dumps(jsondata)
req = requests.post(url, data=data)
.....

以下是flask-restplus的代码

#if using swagger model
def post(self):
    data = api.payload
    return save_new_user(data)
============================================

#if not using swagger model
from flask import request
def post(self):
    data = request.get_json()
    return save_new_user(data)

答案 1 :(得分:0)

好的,我找到了答案。 Flask无法一次处理多个请求。 这是链接

Github