博客
关于我
强烈建议你试试无所不能的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'.
你可能感兴趣的文章
synchronized与Lock
查看>>
数据库索引
查看>>
实现包含min,max,push,pop函数的栈
查看>>
实验2-6 字符型数据的输入输出
查看>>
实验3-5 编程初步
查看>>
实验4-1 逻辑量的编码和关系操作符
查看>>
实验5-2 for循环结构
查看>>
实验5-3 break语句和continue语句
查看>>
实验5-4 循环的嵌套
查看>>
实验5-5 循环的合并
查看>>
实验5-6 do-while循环结构
查看>>
实验5-7 程序调试入门
查看>>
实验5-8 综合练习
查看>>
第2章实验补充C语言中如何计算补码
查看>>
深入入门正则表达式(java) - 命名捕获
查看>>
使用bash解析xml
查看>>
android系统提供的常用命令行工具
查看>>
【Python基础1】变量和字符串定义
查看>>
【Python基础2】python字符串方法及格式设置
查看>>
【Python】random生成随机数
查看>>