Обновить несколько полей в колбе, обновить маршрут - PullRequest
0 голосов
/ 04 марта 2019

У меня есть небольшое приложение с колбой.Я пытаюсь обновить мой код маршрута.Таким образом, у меня есть около 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

Спасибо залюбая помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...