廖大python實戰教程第七天
阿新 • • 發佈:2018-11-26
arch email handlers app som == await href started ,出現這種錯誤一般是
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:\Users\ChanWunsam\awesome-python3-webapp\www\templates 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:\Users\ChanWunsam\awesome-python3-webapp\www\static 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實戰教程第七天