博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础-项目实战-Day 12 - 编写日志列表页
阅读量:4147 次
发布时间:2019-05-25

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

一、项目来源

二、UI

点击入口

manage_blog_edit.html

{% block content %}    

这里写图片描述

日志列表

manage_blogs.html

标题 / 摘要 作者 创建时间 操作

这里写图片描述

三、逻辑

1.点击 日志 事件

handlers.py

跳转到日志列表界面

@get('/manage/blogs')def manage_blogs(*, page='1'):    return {        '__template__': 'manage_blogs.html',        'page_index': get_page_index(page)    }

2.显示 列表

查找 数据库

handlers.py

@get('/api/blogs')def api_blogs(*, page='1'):    page_index = get_page_index(page)    num = yield from Blog.findNumber('count(id)')    p = Page(num, page_index)    if num == 0:        return dict(page=p, blogs=())    blogs = yield from Blog.findAll(orderBy='created_at desc', limit=(p.offset, p.limit))    return dict(page=p, blogs=blogs)

mysql

这里写图片描述

manage_blogs.html

$(function() {    getJSON('/api/blogs', {        page: {
{ page_index }} }, function (err, results) { if (err) { return fatal(err); } $('#loading').hide(); initVM(results); });});=========================================================================== function initVM(data) { var vm = new Vue({ el: '#vm', data: { blogs: data.blogs, page: data.page }, .....===========================================================================

3. 运行日志

INFO:root:Request: GET /manage/blogsINFO:root:check user: GET /manage/blogsINFO:root:SQL: select `id`, `email`, `passwd`, `admin`, `name`, `image`, `created_at` from `users` where `id`=?INFO:root:rows returned: 1INFO:root:set current user: 123@123.comINFO:root:Response handler...INFO:root:call with args: {}INFO:root:Response handler...__template__ {
'__template__': 'manage_blogs.html', 'page_index': 1}INFO:root:isinstance dict templating
espINFO:aiohttp.access:127.0.0.1 - - [11/Jan/2018:11:39:19 +0000] "GET /manage/blogs HTTP/1.1" 200 6682 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"INFO:root:Request: GET /api/blogsINFO:root:check user: GET /api/blogsINFO:root:SQL: select `id`, `email`, `passwd`, `admin`, `name`, `image`, `created_at` from `users` where `id`=?INFO:root:rows returned: 1INFO:root:set current user: 123@123.comINFO:root:Response handler...INFO:root:call with args: {
'page': '1'}INFO:root:SQL: select count(id) _num_ from `blogs`INFO:root:rows returned: 1INFO:root:SQL: select `id`, `user_id`, `user_name`, `user_image`, `name`, `summary`, `content`, `created_at` from `blogs` order by created_at desc limit ?, ?INFO:root:rows returned: 5INFO:root:Response handler...__template__ {
'page': item_count: 5, page_count: 1, page_index: 1, page_size: 10, offset: 0, limit: 10, 'blogs': [{
'id': '001515636301092f26271f023994d07863fe52a164781d8000', 'user_id': '00151558881765135c1d8940a8f4bf19bb2c836eccdb707000', 'user_name': '123', 'user_image': 'http://www.gravatar.com/avatar/b2d7d2d13aed54c2ed7feb538b382b42?d=mm&s=120', 'name': 'Good old days', 'summary': 'dreams', 'content': 'We have all got our "good old days" tucked away inside our hearts, and we return to them in dreams like cats to favorite armchairs.', 'created_at': 1515640000.0}, {
'id': '0015156359616096a8f75b1490348b69857777919992a7d000', 'user_id': '00151558881765135c1d8940a8f4bf19bb2c836eccdb707000', 'user_name': '123', 'user_image': 'http://www.gravatar.com/avatar/b2d7d2d13aed54c2ed7feb538b382b42?d=mm&s=120', 'name': 'Good old days', 'summary': 'dreams', 'content': 'We have all got our "good old days" tucked away inside our hearts, and we return to them in dreams like cats to favorite armchairs.', 'created_at': 1515640000.0}, {
'id': '0015156358419219e13a79d61584f56bb7242064783e9ff000', 'user_id': '00151558881765135c1d8940a8f4bf19bb2c836eccdb707000', 'user_name': '123', 'user_image': 'http://www.gravatar.com/avatar/b2d7d2d13aed54c2ed7feb538b382b42?d=mm&s=120', 'name': 'sdf', 'summary': 'sdaf', 'content': 'asfdasf', 'created_at': 1515640000.0}, {
'id': '001515633814914b02515cf6b284ec1b1eef741d32434ab000', 'user_id': '00151558881765135c1d8940a8f4bf19bb2c836eccdb707000', 'user_name': '123', 'user_image': 'http://www.gravatar.com/avatar/b2d7d2d13aed54c2ed7feb538b382b42?d=mm&s=120', 'name': 'Create Blog', 'summary': 'Tursday', 'content': 'Good day', 'created_at': 1515630000.0}, {
'id': '1', 'user_id': '1', 'user_name': '123', 'user_image': 'safdsadfsdf', 'name': '234', 'summary': 'adsffasdf', 'content': 'fasdfsadfsa', 'created_at': 123123000.0}]}INFO:root:isinstance dict None
espINFO:aiohttp.access:127.0.0.1 - - [11/Jan/2018:11:39:19 +0000] "GET /api/blogs?page=1 HTTP/1.1" 200 2065 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"

四、Git

git add www/git commit -m "Python基础-项目实战-Day 12 - 编写日志列表页"D:\PythonProject\python3-webapp-Su\www>git push -u origin masterCounting objects: 9, done.Delta compression using up to 4 threads.Compressing objects: 100% (9/9), done.Writing objects: 100% (9/9), 2.64 KiB | 2.64 MiB/s, done.Total 9 (delta 7), reused 0 (delta 0)remote: Resolving deltas: 100% (7/7), completed with 7 local objects.To https://github.com/sufadi/python3-webapp-Su.git   b98d0cb..0a956a1  master -> masterBranch 'master' set up to track remote branch 'master' from 'origin'.
你可能感兴趣的文章
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(中)
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>