def api_blogs(*, page='1', tag='%'): # 注意 一般传输过程中 需要将str 的字符串改为int page_index = get_page_index(page) if tag != '%': blogs = yield from Blogs.find_all('tag like ?', [tag], OrderBy='created_time desc') if blogs: article_nums = len(blogs) else: article_nums = 0 else: article_nums = yield from Blogs.findNumber('count(id)') p = Page(article_count=article_nums, index=page_index) blogs = yield from Blogs.find_all(OrderBy='created_time desc', limit=(p.offset, p.limit)) p = Page(article_count=article_nums, index=page_index) if article_nums == 0: return dict(page=p, blogs=()) return dict(page=p, blogs=blogs)
def api_create_blog(request, *, blog_title, blog_tag, summary, content): check_user_admin_flag(request) if not blog_title or not blog_title.strip(): raise APIValueError('blog_title', 'blog_title can not be empty') if not summary or not summary.strip(): raise APIValueError('summary', 'summary can not be empty') if not content or not content.strip(): raise APIValueError('content', 'content can not be empty') if not blog_tag or not blog_tag.strip(): blog_tag = '默认分类' # 注意 这里请求了request 的user 等信息 实际上是因为在上面进行了确认 blog = Blogs(user_id=request.__user__.id, user_name=request.__user__.name, user_image=request.__user__.image, blog_title=blog_title.strip(), summary=summary.strip(), content=content.strip(), tag=blog_tag) yield from blog.save() # 现在需要新增一个 保存后返回文章链接的功能 blogs = yield from Blogs.find_all(OrderBy='created_time desc') recent_blog = blogs[0] blog_url = '/index.html?item=' + recent_blog['id'] return {'new_url': blog_url}
def get_allblogs(): # from webframe import orm # blogs=orm.select('select * from blogs order by created_time desc') blogs = yield from Blogs.find_all(OrderBy='created_time desc') return dict(data=blogs)