def post(self, args): draft_id = request.args.get('draft_id', type=int) doc = Post.query.get(draft_id) if doc: if doc.published == True: return api_abort(403, "该文章已发布") else: doc = Post() content = args["body"] soup = filter_html(content) doc.title = args["title"] doc.body = str(soup) doc.update_time = datetime.datetime.now() doc.category_id = args["category_id"] or 1 doc.author = g.user try: db.session.add(doc) db.session.commit() except Exception as e: db.session.rollback() current_app.logger.error(e) return api_abort(400, "数据保存失败") response = jsonify(post_schema(doc)) response.status_code = 201 return response
def post(self, args): """ 新建文章 :param args: :return: """ content = args["body"] soup = filter_html(content) # 构建摘要数据,获取标签字符串的文本前150个符号 desc = soup.text[0:150] + "..." doc = Post() doc.title = args["title"] doc.category_id = args["category_id"] or 1 doc.desc = desc doc.body = str(soup) doc.published = True doc.author = g.user # doc.author_id = 20 try: db.session.add(doc) db.session.commit() except Exception as e: db.session.rollback() current_app.logger.error(e) return api_abort(400, "数据保存失败") response = jsonify(post_schema(doc)) response.status_code = 201 return response