Beispiel #1
0
def new_post():
    back = session['back']
    session['back'] = request.endpoint
    title = ""
    body = ""
    id = ""
    editing = False
    current_user = User.get_user(session['email'])
    if request.method == 'GET':
        try:
            id = request.args.get('id')
        except:
            pass
        if id:
            blog = Blog.get(None, id)
            title = blog.title
            body = blog.body
            id = blog.id
            editing = True

    if request.method == "POST":
        title = request.form['title']
        body = request.form['body']
        try:
            editing = request.form['editing']
        except:
            pass
        if editing:
            id = request.form['id']

        if current_user and title and body:
            if not editing:
                blog = Blog(title, body, current_user,
                            datetime.date.today().strftime('%b %d, %Y'))
            else:
                if id:
                    blog = Blog.get(None, id)
                    blog.title = title
                    blog.body = body
            Blog.add(blog)
            return redirect("/blog?blog-id=" + str(blog.id))
        else:
            flash("Please fill out all fields", "Error")

    return render_template("new_post.html",
                           title=title,
                           body=body,
                           editing=editing,
                           id=id,
                           back=back)
Beispiel #2
0
def publish(user_id):
    form = PublishBlogForm()
    blog = Blog()
    if form.validate_on_submit():
        blog.title = form.title.data
        blog.body = form.body.data
        blog.tag = form.tag.data
        blog.create_at = datetime.datetime.now()
        blog.user_id = user_id

        title_check = Blog.query.filter_by(title = blog.title).first()
        if(title_check is not None):
            flash('标题已被使用!')
            return redirect(url_for('publish', user_id = user_id))
        try:
            db.session.add(blog)
            db.session.commit()
        except:
            flash('发布失败,请重新发布!')
            return redirect(url_for('publish', user_id = user_id))
        flash('发布成功!')
        return redirect('/')
    return render_template('publish.html', form = form)