Python 官方文档:入门教程 => 点击学习
引言 文件结构 关键技术 Http工作流程 ORM框架Day3-Day4 WEB框架Day5 作业成果 博客首页 写博客 文章管理 文章详情 总结 参考 断断续续终于过了一遍廖雪峰的python教程,于
断断续续终于过了一遍廖雪峰的python教程,于此梳理教程实战作业:搭建一个Blog网站。
由于欠缺前端知识,有些代码直接引用于项目源码,个人做了尽量详尽的注释以帮助理解,希望在今后能够学习html(HTML 30分钟入门教程)、CSS、javascript等知识,然后回头重新理解本项目。
作业托管于我的GitHub
awesome-python3-webapp/ <--根目录
|
+-www/ <--web项目目录
|
+-static/ <--静态资源目录
|
+-templates/ <--模板文件目录
| |
| +-__base__.html <--基础模版,父模版
| |
| +-blog.html <--文章详情模版,后加文章id构成完整路径
| |
| +-blogs.html <--首页模版
| |
| +-manage_blog_edit.html <--编辑文章模版
| |
| +-manage_blogs.html <--文章管理模版
| |
| +-manage_comments.html <--评论管理模版
| |
| +-manage_users.html <--用户管理模版
| |
| +-reGISter.html <--注册模版
| |
| +-signin.html <--登陆模板
|
+-apis.py <--api接口,定义几个错误异常类和Page类用于分页
|
+-app.py <--HTTP服务器以及处理HTTP请求;拦截器、jinja2模板、URL处理函数注册等
|
+-config.py <--默认和自定义配置文件合并
|
+-config_default.py <--默认的配置文件信息
|
+-config_override.py <--自定义的配置文件信息
|
+-coroweb.py <--封装aiohttp,即写个装饰器更好的从Request对象获取参数和返回Response对象
|
+-favicon.ico <--网页缩略图标
|
+-handlers.py <--处理各种URL请求
|
+-markdown2.py <--支持markdown显示的插件
|
+-models.py <--采用ORM构建三个映射数据库表的类:User、Blog、Comment
|
+-models_test.py <--测试ORM
|
+-orm.py <--ORM框架
|
+-pymonitor.py <--用于支持自动检测代码改动重启服务
|
+-schema.sql <--创建表的SQL脚本
1. 客户端(浏览器)发起请求
2. 路由分发请求(这个框架自动帮处理),add_routes函数就是注册路由。
3. 中间件预处理
- 打印日志
- 验证用户登陆
- 收集Request(请求)的数据
4. RequestHandler清理参数并调用控制器(Django和flask把这些处理请求的控制器称为view functions)
5. 控制器做相关的逻辑判断,有必要时通过ORM框架处理Model的事务。
6. 模型层的主要事务是数据库的查增改删。
7. 控制器再次接管控制权,返回相应的数据。
8. Response_factory根据控制器传过来的数据产生不同的响应。
9. 客户端(浏览器)接收到来自服务器的响应。
ORM全称为对象关系映射(Object Relation Mapping),即用一个类来对应数据库中的一个表,一个对象来对应数据库中的一行,表现在代码中,即用类属性来对应一个表,用实例属性来对应数据库中的一行。具体步骤如下:
aiohttp已经是一个Web框架了,在此主要对aiohttp库做更高层次的封装,从简单的WSGI接口到一个复杂的web framework,本质上还是对request请求对象和response响应对象的处理,可以将这个过程想象成工厂中的一条流水线生产产品,request对象就是流水线的原料,这个原料在经过一系列的加工后,生成一个response对象返回给浏览器。具体步骤如下:
通过该作业,基本了解了一个webapp的开发流程和部分技术,了解了http的工作原理,复习了Python的使用。但是也深刻认识到python知识点的不熟练和前端相关知识的匮乏,后续仍要加强python项目练习和前端知识的学习。
廖雪峰官网Blog网站实战
moling3650/mblog
zhouxinkai/awesome-python3-webapp
ReedSun/Preeminent
--结束END--
本文标题: Python搭建博客网站小结
本文链接: https://lsjlt.com/news/188929.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0