Esempio n. 1
0
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)
Esempio n. 2
0
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}
Esempio n. 3
0
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)