廖大python实战教程第七天

Posted Wunsam_Chan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了廖大python实战教程第七天相关的知识,希望对你有一定的参考价值。

MVC框架

使用模板

MVC的全名是Model View Controller,是模型-视图-控制器的缩写,是一种软件设计典范。使用MVC的目的是使M和V的代码分离,从而使一个程序可以有不同的表现形式。

各种错误

这个地方在所难免。实在没想到用IDE照着敲都会有一些不注意的小细节错误。

一开始页面是 404 Not Found。等查明原因后发现add_routes()函数没有执行,里面有三四处错误。一般来说,404 Not Found的日志不会有这么一句::add route GET / => index(request),从此处我感受到了日志的重要性。

后来还有一个错误,和评论区很多人一样是 500 Internal Server Error Server got itself in trouble,出现这种错误一般是handlers.py照着廖大教程上copy(嗯,如果不是copy你会发现错误的)。因为先前使用的是asnyc/await标记实现异步操作,所以此处也应该改为这种方式。

正确的日志

意识到日志的重要性,我就想着发上来,让有疑惑的人对比一下。

INFO:root:create database connection pool...
INFO:root:init jinja2...
INFO:root:set jinja2 template path: C:UsersChanWunsamawesome-python3-webappwww	emplates
INFO:root:found model: User (table: users)
INFO:root:  found mapping: id ==> <StringField, varchar(50):None>
INFO:root:  found mapping: email ==> <StringField, varchar(50):None>
INFO:root:  found mapping: passwd ==> <StringField, varchar(50):None>
INFO:root:  found mapping: admin ==> <BooleanField, boolean:None>
INFO:root:  found mapping: name ==> <StringField, varchar(50):None>
INFO:root:  found mapping: image ==> <StringField, varchar(500):None>
INFO:root:  found mapping: created_at ==> <FloatField, real:None>
INFO:root:found model: Blog (table: blogs)
INFO:root:  found mapping: id ==> <StringField, varchar(50):None>
INFO:root:  found mapping: user_id ==> <StringField, varchar(50):None>
INFO:root:  found mapping: user_name ==> <StringField, varchar(50):None>
INFO:root:  found mapping: user_image ==> <StringField, varchar(500):None>
INFO:root:  found mapping: name ==> <StringField, varchar(50):None>
INFO:root:  found mapping: summary ==> <StringField, varchar(200):None>
INFO:root:  found mapping: content ==> <TextField, text:None>
INFO:root:  found mapping: created_at ==> <FloatField, real:None>
INFO:root:found model: Comment (table: comments)
INFO:root:  found mapping: id ==> <StringField, varchar(50):None>
INFO:root:  found mapping: blog_id ==> <StringField, varchar(50):None>
INFO:root:  found mapping: user_id ==> <StringField, varchar(50):None>
INFO:root:  found mapping: user_name ==> <StringField, varchar(50):None>
INFO:root:  found mapping: user_image ==> <StringField, varchar(500):None>
INFO:root:  found mapping: content ==> <TextField, text:None>
INFO:root:  found mapping: created_at ==> <FloatField, real:None>
INFO:root:add route GET / => index(request)
INFO:root:add static /static/ => C:UsersChanWunsamawesome-python3-webappwwwstatic
INFO:root:server started at http://127.0.0.1:9000...
INFO:root:Request: GET /
INFO:root:Response handler...
INFO:root:call with args: {‘request‘: <Request GET / >}
INFO:root:SQL: select `id`, `email`, `passwd`, `admin`, `name`, `image`, `created_at` from `users`
INFO:root:rows returned: 2
INFO:aiohttp.access:127.0.0.1 - - [26/Jan/2018:12:17:38 +0000] "GET / HTTP/1.1" 200 402 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
INFO:root:Request: GET /
INFO:root:Response handler...
INFO:root:call with args: {‘request‘: <Request GET / >}
INFO:root:SQL: select `id`, `email`, `passwd`, `admin`, `name`, `image`, `created_at` from `users`
INFO:root:rows returned: 2
INFO:aiohttp.access:127.0.0.1 - - [26/Jan/2018:12:18:08 +0000] "GET / HTTP/1.1" 200 402 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
INFO:root:Request: GET /
INFO:root:Response handler...
INFO:root:call with args: {‘request‘: <Request GET / >}
INFO:root:SQL: select `id`, `email`, `passwd`, `admin`, `name`, `image`, `created_at` from `users`
INFO:root:rows returned: 2
INFO:aiohttp.access:127.0.0.1 - - [26/Jan/2018:12:18:10 +0000] "GET / HTTP/1.1" 200 402 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"

嗯,出现错误,不要怀疑教程,好好检查一下handlers,coreweb,app这几个文件。

以上是关于廖大python实战教程第七天的主要内容,如果未能解决你的问题,请参考以下文章

廖大python实战项目第四天

据廖雪峰python3教程----python学习第七天

廖大python实战项目第三天

微信小程序第七天WXML语法之模板用法

微信小程序第七天WXML语法之模板用法

廖大python实战项目第五天