def post(self, title): if self.form.validate(): post = None if self.form.post_id.data: post = yield Post.asyncQuery(id=self.form.post_id.data).first() if post: post.modified_time = datetime.datetime.utcnow() else: post = Post() post.create_time = \ self.BeiJing2UTCTime(self.form.create_time.data) title = self.form.title.data.replace(' ', '-') content = self.form.content.data markdown_text = self.form.markdown.data tags = self.separate_tags(self.form.tags.data) category_str = self.form.category.data.capitalize() category = yield Category.asyncQuery(name=category_str).first() if not category: category = Category() category.name = category_str yield category.save() post.title = title post.content = content post.markdown = markdown_text post.category = category post.tags = tags post.author = self.current_user yield post.save() self.flash("compose finsh!") return self.redirect('/blog') self.render("compose.html", form=self.form)
def get(self, category, page): if not page: page = 1 if not category: category = "All" if category.upper() == "ALL": posts = yield Post.asyncQuery().order_by("-create_time").paginate( page=int(page), per_page=self.settings['per_page']) else: c = yield Category.asyncQuery(name=category).first() if not c: raise tornado.web.HTTPError(404) posts = yield Post.asyncQuery( category=c).order_by("-create_time").paginate( page=int(page), per_page=self.settings['per_page']) categorys = yield Category.asyncQuery() self.render("blog.html", posts=posts, categorys=categorys, current_category=category)
def post(self, title): if self.form.validate(): post = None if self.form.post_id.data: post = yield Post.asyncQuery(id=self.form.post_id.data).first() if post: post.modified_time = datetime.datetime.utcnow() else: post = Post() post.create_time = \ self.BeiJing2UTCTime(self.form.create_time.data) title = self.form.title.data.replace(' ', '-') content = self.form.content.data markdown_text = self.form.markdown.data tags = self.separate_tags(self.form.tags.data) category_str = self.form.category.data.capitalize() category = yield Category.asyncQuery( name=category_str).first() if not category: category = Category() category.name = category_str yield category.save() post.title = title post.content = content post.markdown = markdown_text post.category = category post.tags = tags post.author = self.current_user yield post.save() self.flash("compose finsh!") return self.redirect('/blog') self.render("compose.html", form=self.form)