Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)