博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站搭建笔记精简版---廖雪峰WebApp实战-Day12:编写日志创建页笔记
阅读量:4165 次
发布时间:2019-05-26

本文共 2890 字,大约阅读时间需要 9 分钟。

先贴。

如何上传github项目分支参考的:如何解决新上传一个项目到分支的问题部分。

后端api

首先在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)    }

然后实现相应博客api功能

@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/

你可能感兴趣的文章
【MongoDB】在windows平台下mongodb的分片集群(六)
查看>>
【MongoDB】从入门到精通mongdb系列学习宝典,想学mongodb小伙伴请进来
查看>>
【MongoDB】学习MongoDB推荐三本书
查看>>
【MongoDB】在Mongodb使用shell实现与javascript的动态交互
查看>>
【传递正能量】献给那些正在试用期或实习期的人
查看>>
【Monogdb】MongoDB之十大应用设计技巧
查看>>
【MongoDB】MongoDB之七大实现技巧
查看>>
【MongoDB】MongoDB之八大优化技巧
查看>>
【Monogdb】MongoDB的介绍以及同类数据库的对比
查看>>
【Monogdb】MongoDB的日志系统
查看>>
【MongoDB】Mongodb数据库之Capped Collection集合
查看>>
【MongoDB】MongoDB数据库之海量存储机制
查看>>
【MongoDB】MongoDB数据库之MapReduce编程模型
查看>>
【MongoDB】MongoDB之优化器Profiler
查看>>
【MongoDB】MongoDB之遗漏知识点
查看>>
【MongoDB】探讨《MongoDB权威指南》书籍中的几点错误
查看>>
【MongoDB】数组和范围查询的相互作用
查看>>
【传递正能量】2014年感动我的十大微视频
查看>>
设计模式学习笔记-状态模式
查看>>
【MongoDB】MongoDB之聚合框架
查看>>