本文共 2890 字,大约阅读时间需要 9 分钟。
先贴。
如何上传github项目分支参考的:如何解决新上传一个项目到分支的问题部分。apis.py
中定义一个Page类用于存储分页信息:#用于选择当前页面,在handlers.py文件中调用def get_page_index(page_str): p = 1 #初始化页数取整 try: p = int(page_str) except ValueError as e: pass if p < 1: p = 1 return pclass Page(object): # 数据库博客总数,初始页,每页显示的博客总数 def __init__(self, item_count, page_index=1, page_size=10): self.item_count = item_count self.page_size = page_size # 一共所需要页的总数 self.page_count = item_count // page_size + (1 if item_count % page_size > 0 else 0) # 加入数据库没有博客或全部博客总页数不足一页 if (item_count == 0) or (page_index > self.page_count): self.offset = 0 self.limit = 0 self.page_index = 1 else: self.page_index = page_index #初始页 self.offset = self.page_size * (page_index - 1) #当前页数,应从数据库的那个序列博客开始显示 self.limit = self.page_size # 当前页数,应从数据库的那个序列博客结束像素 self.has_next = self.page_index < self.page_count #是否下一页 self.has_previous = self.page_index > 1 #是否上一页 def __str__(self): return 'item_count: %s, page_count: %s, page_index: %s, page_size: %s, offset: %s, limit: %s' % (self.item_count, self.page_count, self.page_index, self.page_size, self.offset, self.limit) __repr__ = __str__
handlers.py
中定义模板函数:@get('/manage/blogs')async def manage_blogs(*, page='1'): return { '__template__': 'manage_blogs.html', 'page_index': get_page_index(page) }
@get('/api/blogs')async def api_blogs(*, page='1'): page_index = get_page_index(page) num = await Blog.findNumber('count(id)') #查询日志总数 p = Page(num, page_index) if num == 0: #数据库没日志 return dict(page=p, blogs=()) blogs = await Blog.findAll(orderBy='created_at desc', limit=(p.offset, p.limit)) #选取对应的日志 return dict(page=p, blogs=blogs) #返回管理页面信息,及显示日志数
manage_blogs.html网页中,首先调用@get(’/api/blogs’),接下来调用initvm函数进行传值,最后使用v-repeat循环显示在页面上。代码如下。
{% extends '__base__.html' %}{% block title %}日志{% endblock %}{% block beforehead %}{% endblock %}{% block content %}正在加载...新日志{% endblock %}
标题 / 摘要 作者 创建时间 操作
参考博客
转载地址:http://omlxi.baihongyu.com/