zoukankan      html  css  js  c++  java
  • 廖大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这几个文件。

  • 相关阅读:
    js 鼠标事件大全
    ASP.NET 解决重复提交问题
    C# 统计函数运行时间
    DataGrid 、Repeater、DataList、GridView自动编号列
    两种时间格式正则表达式HH:mm 和HH:mm:ss
    SQL Server2008 新语法
    XYTipsWindow 2.8
    MSSQL 清空日志
    SQL 日期格式化大全
    HDOJ 2132
  • 原文地址:https://www.cnblogs.com/ChanWunsam/p/10018268.html
Copyright © 2011-2022 走看看