示例#1
0
def new_post():
    form = PostForm()
    if form.validate_on_submit():
        post = Post(title=form.title.data, content=form.content.data, author=current_user)
        post.slug = slugify(form.title.data)
        post.like_post = 0
        post.dislike_post = 0
        # Send email notification to all users
        users = User.query.all()
        emailsender = current_app.config['EMAIL_SENDER']
        username = current_user.username
        send_newpostnotif_email(username,users,post,emailsender)
        
        db.session.add(post)
        try:
            db.session.commit()
            flash('Your post has been created!', 'success')
        except:
            db.session.rollback()
            raise
        finally:
            db.session.close()

        return redirect(url_for('main.home'))
    return render_template('create_post.html', title='New Post',
                           form=form, legend='New Story')
def new_post():
    form = PostForm()
    if form.validate_on_submit():
        post = Post(title=form.title.data,
                    content=form.content.data,
                    author=current_user)
        post.slug = slugify(form.title.data)
        post.like_post = 0
        post.dislike_post = 0
        db.session.add(post)

        try:
            db.session.commit()
            flash('Your post has been created!', 'success')
            current_app.logger.info(
                "New Story - %s",
                (current_user.username, current_user.email, post.slug))
        except:
            db.session.rollback()
            raise
        finally:
            db.session.close()

        return redirect(url_for('main.home'))
    return render_template('create_post.html',
                           title='New Post',
                           form=form,
                           legend='New Story')