使用Flask和Mongodb编辑和保存文档 @app.route('/edit_book/',methods=['POST','GET']) def编辑书籍id(id): books=connexion.db.books item=books.find_one({''u id':ObjectId(id)}) 如果request.method==“GET”: 如果会话['username']不是无: 返回呈现模板('edit_book.html',username=session['username'],mybooks=item) books.update_one({“id”:id}, { “$set”:{“title”:request.form.get('title'), “author”:request.form.get('author'), “版本”:request.form.get('edition'), “价格”:request.form.get('price'), “image”:request.files.get('image'), “日期”:datetime.datetime.utcnow() } }) 返回“已更新,成功”
html文件:使用Flask和Mongodb编辑和保存文档 @app.route('/edit_book/',methods=['POST','GET']) def编辑书籍id(id): books=connexion.db.books item=books.find_one({''u id':ObjectId(id)}) 如果request.method==“GET”: 如果会话['username']不是无: 返回呈现模板('edit_book.html',username=session['username'],mybooks=item) books.update_one({“id”:id}, { “$set”:{“title”:request.form.get('title'), “author”:request.form.get('author'), “版本”:request.form.get('edition'), “价格”:request.form.get('price'), “image”:request.files.get('image'), “日期”:datetime.datetime.utcnow() } }) 返回“已更新,成功”,mongodb,python-3.x,flask,jinja2,Mongodb,Python 3.x,Flask,Jinja2,html文件: @app.route('/edit_book/<id>', methods=['POST', 'GET']) def edit_book_id(id): books = connexion.db.books item = books.find_one({'_id': ObjectId(id)}) if request.method == 'GET': if session['username'] is not None: r
@app.route('/edit_book/<id>', methods=['POST', 'GET'])
def edit_book_id(id):
books = connexion.db.books
item = books.find_one({'_id': ObjectId(id)})
if request.method == 'GET':
if session['username'] is not None:
return render_template('edit_book.html', username=session['username'], mybooks=item)
books.update_one({"id": id},
{
"$set": {"title": request.form.get('title'),
"author": request.form.get('author'),
"edition": request.form.get('edition'),
"price": request.form.get('price'),
"image": request.files.get('image'),
"date": datetime.datetime.utcnow()
}
})
return 'Updated, success'
标题
著者
版本
价格
上载
我使用表单编辑Mongodb数据库中的文档。我可以使用GET方法编辑文档,但问题是使用POST方法,我无法更新文档。我是新来的。
我想我在编辑后无法取回字段
<form action="" method="POST" enctype=multipart/form-data>
<h2>Title</h2>
<input type="text" name="title" size="60" value="{{mybooks.title}}"><br>
<h2>Author</h2>
<input type="text" name="author" size="60" value="{{mybooks.author}}"><br>
<h2>Edition</h2>
<input type="text" name="edition" size="60" value="{{mybooks.edition}}"><br>
<h2>Price</h2>
<input type="text" name="price" size="60" value="{{mybooks.price}}"><br>
<h2>Upload </h2>
<input type="file" name="image"/><br>
<br>
<input type="submit" value="Submit">
</form>
忘记了
ObjectId(id)
发布后是否有任何错误消息?@dvnguyen没有错误,但Mongodb中没有更改
books.update_one({"_id": ObjectId(id)},
{ "$set": {
"title": request.form.get('title'),
"author": request.form.get('author'),
"edition": request.form.get('edition'),
"price": request.form.get('price'),
"image": request.files.get('image'),
"date": datetime.datetime.utcnow()
}
})