python三大主流框架
1.Django:大而全 自带的功能特别特别多 就类似于航空母舰 有时候过于笨重
2.Flask:短小精悍 自带的功能特别特别少 全都是依赖于第三方组件
flask框架第三方的组件特别多 如果把flask第三方全部加起来 完全可以盖过Django
比较受限于第三方的开发者
3.Tornado:天生的异步非阻塞框架 速度特别快 能够抗住高并发
可以开发游戏服务器
A:socket
B:路由与视图函数匹配
C:模板语法
Django
A:用的别人的 wsgiref
B:自己写的
C:自己写的
Flask
A:用的别人的 wsgiref>>> werkzeug
B:自己写的
C:用的别人的 jinja2
Tornado
A,B,C全都是自己写的
流程图
Django
注意事项:
1、你的计算机的名称不能有中文
2、文件的命名尽量也不要中文
3、一个pycharm窗口只能有一个项目 不要把多个项目放在一个窗口下
版本问题: 以django1.11版本为主
下载命令:pip install django==1.11.11
检测是否下载成功:命令行 django-admin
如何创建django项目:(两种方法)
方式一命令行:在cmd中创建敲命令行
1.创建django项目:django-admin startproject 项目名
2.创建app应用: django_admin startapp 应用名 或者 python manager.py startapp应用名
3.启动django项目:python manager.py runserver(在pycharm的Terminal中输入)
方式二在pycharm创建:
1.创建项目:FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理
2.创建app:除了命令行创建,还可以在Tools下面Run manage task功能栏,然后在输入 startapp 应用名
3.可以直接输入runserver 或者 点击绿色小箭头
注意:用命令行创建django项目,不会自动新建templates模板文件夹,需要你手动创建,并且需要你自己settings.py文件中注册该文件路径。(******)
注意:创建的应用app一定要在settings中注册才能生效,否则无法识别(******)
django主要文件介绍
项目名文件
同名的项目文件夹
settings.py django暴露给用户可配置的文件
urls.py 路由与视图函数对应的关系
manage.py django入口文件
templates文件夹 放前端模板代码
应用文件夹(app)
migrations文件夹 数据库迁移记录
admin.py django后台管理
apps.py 应用注册相关
models.py orm模型类
tests.py 测试文件
views.py 视图函数
django必会三板斧:(在views.py中) request是请求的相关数据(******)
1.HttpResponse:内部传入一个字符串参数,返回给浏览器
2.render:除request参数外还接受一个带渲染的模板文件和一个保存具体数据的字典参数。将数据填充进模板文件,最后把结果返回给浏览器。
两种给前端页面传值的方式:
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',{'user_dict':user_dict})
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',locals()) #locals()是把所有参数全部传递给前端
3.redirect:重定向(接收一个url参数,表示跳转到指定的url)
在浏览器和wsgi之间还有个nginx,做负载均衡