python主流框架简介和Django框架的使用
目录
1|0一、手撸简易web框架
- 通过统一思想,对各个功能或者接口进行统一,越来越像是Django框架的流程,实现了低配版的Django。下面是具体的流程图
- 具体步骤为:wsgiref库拿到用户的请求内容,我们判断用户请求的链接地址内容,匹配到对应的后端函数,后端函数内部调用数据库得到需要的数据,再拿到html文件进行读取后,之后再把数据通过jinja2模块语法插入html文件中,最后再把修改过后的html文件return出去。wsgiref库把该html文件内容发送回浏览器,浏览器拿到内容后展示在页面上。结束。
- 基于第三方模块帮你撸
- 使用了wsgiref库和jinja2库
- wsgiref库帮我们封装了http协议,并将http的请求头和请求首行变成字典。即将请求内容解包,响应的内容压包。
- jinja2库专门用来处理后端数据与html页面的交互
- views.py 里面的放的是函数 我们管这些函数叫视图函数 视图层
urls.py 里面放的是 路由(后缀)与视图函数的对应关系 路由层
templates文件夹 里面放的全是html文件 模板层
2|0二、动静态网页
2|11. 静态网页
- 数据是写死的 万年不变(哪怕改变了 也是人为直接修改)
2|22. 动态网页
- 数据是实时获取的
eg:
1 后端代码动态获取 当前时间
2 数据是从数据库查询出来的
3|0三、jinja2模板语法
3|11. jinja2的作用
-
专门用来处理后端数据与html页面的交互
-
模板语法(极其贴近python后端语法)
-
让你能够在html页面上 也能够用后端python语法来操作后端传递过来的数据
-
语法实例:
- 模板的渲染 将后端传递给html文件的数据 在后端处理好 生成一个完整的html文件的过程
- 注意 模板的渲染是在后端完成的 跟前端没有关系
4|0四、python主流web框架
4|11. django
- 大而全 自带的组件和功能非常非常多 ,类似于航空母舰
- 不足之处:写小项目的时候 可能会比较笨重(大材小用)
4|22. flask
- 小而精 短小精悍 自带的组件和功能特别特别少 ,类似于游骑兵
- 基本全部依赖于第三方组件
- 不足之处:受限于第三方模块的影响比较大
- 如果将flask所有第三方模块加起来 能够直接盖过django
4|33. tornado
- 异步非阻塞 这个框架甚至可以用来开发游戏服务器
4|44. 三个框架的对比
5|0五、Django 框架
- django是一个以开发app为主要功能的web框架
- Django框架的生命周期流程图
5|11. 使用Django时的注意事项
-
计算机名称不能有中文
-
python解释器不要使用3.7版本 推荐使用版本3.4~3.6
-
一个pycharm窗口 只能跑一个项目
-
django版本问题
- django版本以1.11.11为主(1.11.9~1.11.13)
-
如何检验django是否安装成功
- 命令行敲
django-admin
- 命令行敲
5|22. 使用Django开发项目
(1)基本使用步骤:
创建Django项目——》创建应用——》配置Django项目的settings文件——》——》导“三板斧”模块(HttpResponse/render/redirect
)——》自定义应用功能——》启动Django项目(启动服务端)
(2)具体使用步骤
- 通过命令行创建项目
- 通过pycharm创建Django项目
- 这种创建项目的方式要较为简便。他会自动帮我们创建templates文件夹,并且自动把这个文件夹的路径添加到TEMPLATES的'DIRS'中。也就是说我们可以省略方式一中的第三步,和第四步中的第二小步。其他步骤一致。只是不是用命令行创建。
5|33. Django项目各文件的功能
5|44. Django基本三板斧
5|55. Django的重启机制
- Django内部有检测机制 ,实时检测所有文件的变化。当我们在开发项目时,有时候会产生,你代码还没写完 就自动重启报错的情况,不用管。
- 我们只需要在完善完功能后自己手动再重启一次即可。
__EOF__

本文作者:BigSun丶
本文链接:https://www.cnblogs.com/Mcoming/p/11908346.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Mcoming/p/11908346.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!