博客
关于我
强烈建议你试试无所不能的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/

你可能感兴趣的文章
Bobo老师机器学习笔记第九课-PR曲线和ROC曲线
查看>>
计算广告学学习笔记---计算过广告基本概念
查看>>
数学基础-拉格朗日乘子法学习资料
查看>>
如何实现网易公开课的倍速播放?
查看>>
各大厂分布式链路跟踪系统架构对比
查看>>
Google Cloud的专业架构师和专业云工程师认证经验分享
查看>>
关于机器学习工程的最佳实践
查看>>
Google Cloud 专业数据工程师经验分享
查看>>
【机器学习】Google Developer-特征工程介绍
查看>>
【机器学习】Google Developer-特征交叉
查看>>
用户账号、授权以及密码管理的12个最佳实践
查看>>
【pandas入门】pandas的基本操作
查看>>
【pandas入门】创建DataFrame的7种方法
查看>>
Tensorflow入门第一步
查看>>
【Tensorflow】训练多特征模型
查看>>
Python从字符串串中如何提取国家、地区或者城市信息?
查看>>
7种提高代码阅读能力的方法
查看>>
【MySQL for Mac】navicat for mysql中文乱码问题——MySQL在Mac的字符集设置
查看>>
Research Institute of multi-core processor
查看>>
嵌入式领域相关期刊和会议
查看>>