Beispiel #1
0
def new_post():
    """
    Creates a new post.
    """
    form = NewPostForm(request.form)
    if request.method == 'POST' and form.validate():
        post = Post(title=form.title.data, body=form.body.data)
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('index'))
    return render_template("new.html", form=form)
Beispiel #2
0
def newpost():
    if request.method == 'GET':
        return render_template("write.html", form=NewPostForm(), mode="new")
    else:
        form = NewPostForm(request.form)
        if form.validate():
            title = form.title.data
            body = form.content.data
            md = Markdown()
            html = md.convert(gfm(body))
            db.posts.insert({"title":title, "body":body, "html":html, "created_at":datetime.now()})
            return redirect(url_for("home"))
        else:
            return render_template("write.html", form=form, mode="new")
Beispiel #3
0
def update(id):
    """
    Updates the post and returns to the post details view.
    """
    post = Post.query.filter_by(id=id).one()
    form = NewPostForm(obj=post)

    if request.method == 'POST':
        form = NewPostForm(request.form)
        if form.validate():
            post.title = form.title.data
            post.body = form.body.data
            db.session.commit()
            return redirect(url_for('post', id=id))
    return render_template("edit.html", form=form)
Beispiel #4
0
def newpost():
    if request.method == 'GET':
        return render_template("write.html", form=NewPostForm(), mode="new")
    else:
        form = NewPostForm(request.form)
        if form.validate():
            title = form.title.data
            body = form.content.data
            md = Markdown()
            html = md.convert(gfm(body))
            db.posts.insert({
                "title": title,
                "body": body,
                "html": html,
                "created_at": datetime.now()
            })
            return redirect(url_for("home"))
        else:
            return render_template("write.html", form=form, mode="new")