【一】Python主流的web框架
【1】django
- 大而全
- 自带的功能非常的多
- 但是有时候会略显笨重
- 类似于'航空母舰'
【2】flask
- 小而精
- 自带的功能非常的少
- 但是第三方模块非常的多
- 类似于'游骑兵'
- flask的第三方模块加到一起甚至比django还多
- 并且也越来越像django
- flask由于过多的依赖于第三方模块
- 有时候也会受制于第三方模块
【3】tornado
- 异步非阻塞框架
- 速度极快
- 甚至可以用于充当游戏服务器
【4】其他
- 还有一些占比较小 但是也很厉害的框架
- fastapi、sanic......
框架的核心逻辑几乎是一致的 我们在学习的时候只需要先学会一种之后就可以触类旁通
【二】Django框架版本
- django3.X:
- 自带异步功能
- django2.X:
- 默认不支持异步
- django1.X:
- 默认不支持异步
- 学习基于django1.X版本即可原因:
- 老项目中使用频率最高、最广泛的版本!!!
- 与2.X功能几乎一致
- 与3.X最主要的区别在于新增了一个异步的功能
近几年变化
未来趋势
【三】框架下载
pip3 install django==1.11.11
'''如果之前下载了其他版本不用管 自动替换!!!'''
【四】注意事项
- 计算机名称不要出现中文
- python解释器版本不同可能会出现启动报错
- 项目中所有的文件名称不要出现中文
- 多个项目文件尽量不要嵌套,做到一项一夹
启动如果报错,根据提示找到修改widgets.py文件第152行源码,删除最后的逗号即可
【五】基本使用
【1】验证是否下载成功
- cmd窗口直接输入
django-admin
- 有一长串结果展示表明成功(需提前配置解释器环境变量)
【2】常用操作命令
(1)创建django项目
django-admin startproject 项目名(如:mysite)
(2)启动django项目
- cd 项目名(如:mysite)
- python3 manage.py runserver IP:PORT
'''IP:PORT可以不写 默认在本地8000端口起服务'''
(3)创建app应用
python3 manage.py startapp 应用名(jason01)
【3】应用的概念
-
django框架相当于是一所大学,应用相当于是大学里面的各个学院
- 大学相当于是个空壳子
- 负责提供环境
- 学院才是一个个真正具备特定功能的集合
- 大学相当于是个空壳子
-
eg:
-
使用django写一个淘宝,淘宝里面有很多功能模块
-
我们应该先创建一个空的django项目然后根据功能的不同创建不同的应用
-
django项目
- 应用名01(user) 用户相关业务
- 应用名02(order) 订单相关业务
- 应用名03(goods) 产品相关业务
- 应用名04(backend) 后台相关业务
【六】主要文件介绍
- -mysite文件夹名称
- --mysite同名文件夹
- ----settings.py 项目配置文件
- ----urls.py 总路由层
- --mysite同名文件夹
- --manage.py 项目入口文件
- -db.sqlite3 运行项目后自动创建(django自带的小型数据库)
- --应用文件夹 通过命令创建(可以创建任意个数)
- ----migrations文件夹 存储数据迁移记录
- ----admin.py django提供的后台管理
- ----apps.py 用于配置文件的应用注册(创建的应用都需要去配置文件中注册)
- ----models.py 模型层(与数据库相关)
- ----views.py 视图层(编写当前应用核心业务逻辑代码)
- ----tests.py 自带的测试文件