POST 使用 Python 烧瓶请求 - 邮递员

POST request using Python flask - postman

我的代码如下

# Cafe TABLE Configuration
class Cafe(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(250), unique=True, nullable=False)
    map_url = db.Column(db.String(500), nullable=False)
    img_url = db.Column(db.String(500), nullable=False)
    location = db.Column(db.String(250), nullable=False)
    seats = db.Column(db.String(250), nullable=False)
    has_toilet = db.Column(db.Boolean, nullable=False)
    has_wifi = db.Column(db.Boolean, nullable=False)
    has_sockets = db.Column(db.Boolean, nullable=False)
    can_take_calls = db.Column(db.Boolean, nullable=False)
    coffee_price = db.Column(db.String(250), nullable=True)

HTTP POST - 创建记录

app.route('/add_cafe', methods=['POST', 'GET'])


def add_cafe():
    new_data = Cafe(name=request.form.get("name"),
                    map_url=request.form.get("map_url"),
                    img_url=request.form.get("img_url"),
                    location=request.form.get("location"),
                    has_sockets=bool(int(request.form.get("has_sockets"))),
                    has_toilet=bool(int(request.form.get("has_toilet"))),
                    has_wifi=bool(int(request.form.get("has_wifi"))),
                    can_take_calls=bool(int(request.form.get("can_take_calls"))),
                    seats=request.form.get("seats"),
                    coffee_price=request.form.get("coffee_price")),

    new_cafe_json = jsonify(cafe=new_data)
    db.session.add(new_cafe_json)
    db.session.commit()
    return jsonify(result={"Success": "Added successfully"})

我收到 404 错误 - 未找到。其他请求工作正常。任何帮助。我是初学者。

看来你没有正确装饰视图函数。

你的代码是这样的:

app.route('/add_cafe', methods=['POST', 'GET'])


def add_cafe():
    new_data = Cafe(name=request.form.get("name"),
    map_url=request.form.get("map_url"),
    .....

应该是这样的:

@app.route('/add_cafe', methods=['POST', 'GET'])
def add_cafe():
    your code...

您对 SQLAlchemy 的使用情况似乎也不太好。在向 db.session 添加信息的部分,您应该添加要保存的对象的模型实例,在您的代码中,对象是变量 new_data,如下所示:db.session.add(new_data) 然后提交.

您好!