我有一个用烧瓶制作的小应用程序。我正在尝试使更新路线代码干燥器。因此,我可以在用户自己的帖子中选择大约10个字段进行更新。有人可以朝着正确的方向轻推我吗,我知道它应该很容易解决,但是有一段日子。因此,我希望创建一个小的函数来代替10行。当前代码如下:
@app.route("/post/<int:post_id>/update", methods=['GET', 'POST'])
@login_required
def update_post(post_id):
post = Post.query.get_or_404(post_id)
if post.author != current_user:
abort(403)
form = PostForm()
if form.validate_on_submit():
if form.picture.data:
picture_file = save_recpic(form.picture.data)
post.recipe_img = picture_file
post.title = form.title.data
post.description = form.description.data
post.howto = form.howto.data
post.ethnicity = form.ethnicity.data
post.course = form.course.data
post.vegetarian = form.vegetarian.data
post.vegan = form.vegan.data
post.nuts = form.nuts.data
post.shellfish = form.shellfish.data
post.meat = form.meat.data
post.cook_time = form.cook_time.data
for i in range (len(post.ingredients)):
post.ingredients[i].name = form.ingredient[i].data
db.session.commit()
flash('Your recipe has been updated!', 'success')
return redirect(url_for('post', post_id=post.id))
因此,我没有遵循上面的10来做一个函数。
def update_fields(form, post):
fields = ['title', 'description', 'howto']
for item in fields:
form.item.data = post.item
return form.item.data
感谢您的帮助。