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)
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)