Je l'ai vu cette question posée beaucoup mais les questions ont à voir avec l'utilisation des fichiers txt ou les données de formulaires. Je peux utiliser curl pour les données POST lors de l'utilisation d'un fichier json, mais je veux savoir comment je peux le faire en ajoutant manuellement des données dans l'instruction curl. J'ai également essayé d'utiliser PUT dans une déclaration curl, mais je ne pouvais pas le faire fonctionner aussi bien. J'ai regardé beaucoup de questions mais la plupart seulement utilisaient comme l'identification ou quelque chose et j'essaye de POSTER et METTRE dans 3 choses. J'ai aussi essayé de faire de petits changements dans les données de la déclaration, mais ils ont continué à me donner des erreurs différentes comme le mauvais placement des parenthèses. Plz aider à ce débutant U_UUtiliser curl pour POST et mettre à jour plusieurs données
Ma déclaration boucle pour l'affichage dans la base de données.
curl -X POST -d '{"todo_ID":18,"UserID":6,"details":"Stop putting in the same things"}' -H "Content-Type:application/
json" http://127.0.0.1:5000/
Il dit cette erreur et j'ai essayé de faire des changements, mais toujours obtenir la même erreur.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not understand.<
/p>
Lorsque vous utilisez PUT ma déclaration boucle est
curl -X PUT -H "Content-Type:applicat
ion/json" -d {"todo_ID":1,"UserID": 3,"details":"hi let it go"} http://127.0.0.1
:5000/update/1
je reçois essentiellement la même erreur que je reçois pour POST.
Mon code est.
from flask import Flask, jsonify,json, request, abort
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_pyfile('Config.py')
db = SQLAlchemy(app)
class JsonModel(object): #Class for making objects JSON serializable
def as_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class User(db.Model, JsonModel): #Class which is a model for the User table in the database
User_ID = db.Column(db.Integer, primary_key = True)
FirstName = db.Column(db.String(20))
LastName = db.Column(db.String(20))
def __init__(self,User_ID,FirstName, LastName):
self.User_ID = User_ID
self.FirstName = FirstName
self.LastName = LastName
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,todo_ID, UserID,details):
self.todo_ID = todo_ID
self.UserID = UserID
self.details = details
@app.route('/', methods = ['POST']) #Uses POST method with same URL as GET method to add new information to Todo table.
def create_dev():
dev = Todo(request.json["todo_ID"], request.json["UserID"], request.json["details"])
db.session.add(dev)
db.session.commit()
return json.dumps([{'dev': dev}]), 201
@app.route('/update/<int:todo_ID>', methods = ['PUT'])
def update_todo(todo_ID):
dev = Todo.query.get(todo_ID)
dev.UserID = Todo(request.json["UserID"])
dev.details = Todo(request.json["details"])
db.session.update(dev)
db.session.commit()
return jsonify({ 'dev': dev})
@app.before_first_request #Creates everything before the first request.
def startup():
db.create_all()
if __name__ == '__main__':
app.run()
Quelle est l'erreur rapport Flask? Avez-vous vérifié les journaux ou essayé d'exécuter votre application avec le mode de débogage activé? – dirn
Êtes-vous sur Windows? Il est probable que votre chaîne 'curl' json ne soit pas correctement échappée. – Doobeh
yup im sur les fenêtres. –