def new_post(): """新建文章视图""" form = PostForm(request.form) if form.validate_on_submit(): form.content.data = request.form['markdownEditor-html-code'] form.categories.data = [Category.query.get(category_id) for category_id in form.categories.data] if not form.description.data: form.description.data = remove_html_tag(form.content.data)[0:150] if form.publish.data: with db.auto_commit(): post = Post() post.set_attr(form.data) db.session.add(post) flash('文章已发布', 'success') if form.save.data: with db.auto_commit(): post = Post() post.set_attr(form.data) post.published = False db.session.add(post) flash('文章已保存为草稿', 'success') return redirect(url_for('web.manage_post')) return render_template('admin/post_editor.html', form=form)
def edit_post(post_id): """ 编辑文章视图 :param post_id: 文章 id """ post = Post.query.get_or_404(post_id) form = PostForm(request.form) if form.validate_on_submit(): form.content.data = request.form['markdownEditor-html-code'] form.categories.data = [ Category.query.get(category_id) for category_id in form.categories.data ] if not form.description.data: form.description.data = remove_html_tag(form.content.data)[0:150] if form.publish.data: with db.auto_commit(): post.set_attr(form.data) post.published = True db.session.add(post) flash('文章已更新', 'success') if form.save.data: with db.auto_commit(): post.set_attr(form.data) post.published = False db.session.add(post) flash('文章已保存为草稿', 'success') return redirect(url_for('web.manage_post')) if not form.errors: form.title.data = post.title form.categories.data = [category.id for category in post.categories] form.content_markdown.data = post.content_markdown form.description.data = post.description form.can_comment.data = post.can_comment return render_template('admin/post_editor.html', form=form, post=post)