def create(): if request.method == 'POST': form_post = PostForm(request.form) photo = form_post.upload_photo() if not photo: return redirect(request.url) try: post = Post( title=form_post.title.data, text=form_post.text.data, is_published=form_post.is_published.data, tags=form_post.tags.data, category=form_post.category.data, photo=photo, author=current_user ) db.session.add(post) db.session.commit() flash('Пост добавлен', 'success') return redirect(url_for('posts.index')) except Exception as exc: db.session.rollback() flash(exc.message, 'danger') print('Error', exc) form = PostForm() return render_template('admin/posts/create.html', form=form)
def edit(slug): post = Post.query.filter(Post.slug == slug).first() form = PostForm(obj=post) if request.method == 'POST': if form.valid_photo(): post.photo = form.upload_photo(post.photo) form = PostForm(formdata=request.form, obj=post) form.populate_obj(post) db.session.commit() return redirect(url_for('posts.detail', slug=post.slug)) return render_template('admin/posts/edit.html', post=post, form=form)
def edit(slug): post = Post.query.filter(Post.slug == slug).first() if not post.is_owner(): flash('Вы можете редактировать только свои посты', 'danger') return redirect(url_for('user_posts.index')) form = PostForm(obj=post) if request.method == 'POST': if form.valid_photo(): post.photo = form.upload_photo(post.photo) form = PostForm(formdata=request.form, obj=post) form.populate_obj(post) db.session.commit() return redirect(url_for('user_posts.detail', slug=post.slug)) return render_template('posts/edit.html', post=post, form=form)