1
我知道如何返回一个位置标题,其URL为说“todo/1”,我必须在我的标题位置输入一个,这样我的代码将如下所示POST方法。不过,我不知道如何根据todo_ID返回它,所以我不必手动输入它。因此,例如它看起来像在烧瓶中获取位置标题返回一个标识
response.headers['location'] = '/todo/todo_ID'
但是,这将返回单词todo_ID。无论如何,我可以返回已在网址中创建的实际todo_ID?
我看着这个问题,但不知道如果答案会帮助我。 How to return a relative URI Location header with Flask?
from flask import Flask, jsonify, json, request, abort
from flask_sqlalchemy import SQLAlchemy
from flask_api import status
app = Flask(__name__)
app.config.from_pyfile('Config.py')
db = SQLAlchemy(app)
response = {}
class Todo(db.Model, JsonModel): #Class which is a model for the Todo table in the database
todo_ID = db.Column(db.Integer, primary_key = True)
UserID = db.Column(db.Integer, db.ForeignKey("user.User_ID"))
details = db.Column(db.String(30))
def __init__(self, UserID, details):
self.UserID = UserID
self.details = details
@app.route('/todo', methods = ['POST']) #Uses POST method with same URL as GET method to add new information to Todo table.
def create_todo():
if not request.json:
abort(400)
response= jsonify()
todo = Todo(UserID = request.json["UserID"],details = request.json["details"])
db.session.add(todo)
db.session.commit()
response.status_code = 201
response.headers['location'] = '/todo/1'
return response
你检查你有'todo'? – furas
不确定你的意思。如果你在讨论URL中的/ todo,那么它只是网址的一部分。 – Muba
我在'todo = Todo(..)'中要求'todo'' – furas