def get(self, tag, page=1): p = Post.select(Post).join(PostTag).join(Tag).where(Tag.tag == tag).\ paginate(int(page), conf['POST_NUM']) nav = { 'model': 'tag/' + tag, 'num': Post.select(Post).join(PostTag).join(Tag).where(Tag.tag == tag).count(), } self.render("tag/index.html", post=p, title=tag, side=self.get_side(), nav=nav)
def get(self, page=1): post = Post.select().paginate(int(page), conf['POST_NUM']) nav = { 'model': 'index', 'num': Post.select().count(), } self.render('index/index.html', title="首页", post=post, side=self.get_side(), nav=nav)
def get_side(): """获取侧边栏内容 通用侧边栏数据 """ side = { "recent_post": Post.select().limit(conf["RECENT_POST_NUM"]), "random_post": Post.select().order_by(fn.Rand()).limit(conf["RANDOM_POST_NUM"]), "tags": Tag.select(Tag, fn.Count(Post.id).alias("count")).join(PostTag).join(Post).group_by(Tag), } return side
def process_item(self, item, spider): if spider.name not in ['jpcn1-post']: post = Post() post.url = item['url'] post.topic_id = item['topic_id'] post.status = downloadstatus.notdownload repo = PicRepository() repo.save_post(post) return item
def get(self, q='', page=0): if not q: q = '%' + self.get_argument('q') + '%' try: post = Post.select().where(Post.title ** q | Post.content ** q).paginate(int(page), conf['POST_NUM']) nav = { 'model': 'post/search/'+q, 'num': Post.select().where(Post.title ** q | Post.content ** q).count() } self.render('post/search.html', post=post, side=self.get_side(), title=q, nav=nav) except DatabaseError: self.success('搜索失败')
def get(self, tag, page=1): p = Post.select(Post).join(PostTag).join(Tag).where(Tag.tag == tag).\ paginate(int(page), conf['POST_NUM']) nav = { 'model': 'tag/' + tag, 'num': Post.select(Post).join(PostTag).join(Tag).where( Tag.tag == tag).count(), } self.render("tag/index.html", post=p, title=tag, side=self.get_side(), nav=nav)
def get(self, pid): try: post = Post.get(id=pid) post.tags = Tag.select().join(PostTag).join(Post).where(Post.id == pid) self.render('post/edit.html', post=post, side=self.get_side(), title='编辑-' + post.title) except DoesNotExist: self.send_error(404)
def get(self, q='', page=0): if not q: q = '%' + self.get_argument('q') + '%' try: post = Post.select().where(Post.title**q | Post.content**q).paginate( int(page), conf['POST_NUM']) nav = { 'model': 'post/search/' + q, 'num': Post.select().where(Post.title**q | Post.content**q).count() } self.render('post/search.html', post=post, side=self.get_side(), title=q, nav=nav) except DatabaseError: self.success('搜索失败')
def get(self, pid): try: post = Post.get(id=pid) post.tags = Tag.select().join(PostTag).join(Post).where( Post.id == pid) self.render('post/edit.html', post=post, side=self.get_side(), title='编辑-' + post.title) except DoesNotExist: self.send_error(404)
def post(self): pid = int(self.get_argument("id")) post = Post.get(id=pid) post.title = self.get_argument('title') post.content = self.get_argument("content") tags = model.get_tags(str(self.get_argument('tags'))) try: model.tag_save(tags, post.id) post.save() self.success('文章更新成功') except DatabaseError: self.error('文章更新失败')
def post(self): title = self.get_argument('title') content = self.get_argument("content") author_id = self.get_secure_cookie('uid') tags = model.get_tags(str(self.get_argument('tags'))) try: post = Post.create(title=title, content=content, user=author_id, pub_date=datetime.now()) model.tag_save(tags, post.id) except DatabaseError: self.write("<script>alert('文章添加失败');</script>") else: self.redirect('/post/edit/' + str(post.id))
def post(self): pid = self.get_argument('id') try: try: post_tag = PostTag.delete().where(PostTag.post == pid) post_tag.execute() except DoesNotExist: pass post = Post.get(Post.id == pid) post.delete_instance() self.success('删除成功') except DoesNotExist: pass except DatabaseError: self.failure('删除失败')