使用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() } }) 返回“已更新,成功”

使用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

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:
       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()
                             }
                 })