コード例 #1
0
    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)
コード例 #2
0
ファイル: blog.py プロジェクト: chinakyc/blog
    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)
コード例 #3
0
    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)
コード例 #4
0
ファイル: blog.py プロジェクト: chinakyc/blog
    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)