Мне удалось выяснить, как использовать curl to POST-информацию в базе данных с помощью, но что-то не так с моим фактическим кодом, и я понятия не имею, как его исправить , В моем методе POST, когда я пытаюсь запросить информацию json из моего класса, он не работает, когда я использую завиток, и он говорит. Ошибка в строкеНевозможно использовать метод POST для добавления новой информации в базу данных
dev = Todo(request.json.details)
AttributeError: 'dict' object has no attribute 'details'
Я пытаюсь добавить todo_ID, Идентификатор_пользователя, подробности в таблице Todo в базе данных. Я еще ничего не могу POST из-за ошибки, когда я пытаюсь добавить todo_ID или CustID, я получаю для них одинаковые сообщения об ошибках.
Я поместил информацию, которую хочу использовать в json-файле. выглядит так.
{
"todo_ID": 13,
"UserID": 8,
"details": "Clean up your room."
}
Это мой код.
from flask import Flask, jsonify,json, request, abort
from flask_sqlalchemy import SQLAlchemy
import requests
app = Flask(__name__)
app.config.from_pyfile('Config.py')
db = SQLAlchemy(app)
class JsonModel(object):
def as_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class User(db.Model, JsonModel):
User_ID = db.Column(db.Integer, primary_key = True)
FirstName = db.Column(db.String(20))
LastName = db.Column(db.String(20))
def __init__(self,FirstName, LastName):
self.FirstName = FirstName
self.LastName = LastName
class Todo(db.Model, JsonModel):
todo_ID = db.Column(db.Integer, primary_key = True)
UserID = db.Column(db.Integer, db.ForeignKey('User_ID'))
details = db.Column(db.String(30))
def __init__(self,details):
self.details = details
app.route('/', methods = ['GET'])
def index():
return json.dumps([u.as_dict() for u in User.query.all()+Todo.query.all()])
@app.route('/', methods = ['POST'])
def create_dev():
dev = Todo(request.json.details)
db.session.add(dev)
db.session.commit()
return json.dumps([{'dev': dev}]), 201
@app.before_first_request
def startup():
db.create_all()
if __name__ == '__main__':
app.run()
Пожалуйста, включите более подробную информацию об этой ошибке. Какая линия его бросает? –
ошибка dev = Todo (request.json.details) AttributeError: объект 'dict' не имеет атрибутов 'details' –