Python的WEB框架有Django、Tornado、Flask 等多种
web框架本质
众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。
常用web框架
MVC
Model View Controller
数据库 模板文件 业务处理
MTV
Model Template View
数据库 模板文件 业务处理
django是基于MTV的web框架
model数据库的操作 template模版文件 view业务处理
学习Django
Django框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能
1.安装
1)打开cmd,进入到python安装路径下的Scripts;
2)使用pip安装:pip install Django
3)添加环境变量:python安装路径下的Scripts;
2.创建django projcet
django-admin startproject mysite
model数据库的操作 view模版文件 controller业务处理
3.Django请求生命周期
-> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串
-> URL对应关系(匹配) -> 视图函数 -> 打开一个HTML文件,读取文件
配置文件
1)数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname',
'USER': 'root',
'PASSWORD': 'xxx',
'HOST': '',
'PORT': '',
}
}
数据库为MySQL时,__init__下需要引入
import pymysql
pymysql.install_as_MySQLdb()
手动创建数据库名称
mysql -u root -p
show databases;
create database 数据库名称;
show tables;
静态文件:
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
模板:
TEMPLATE_DIRS = (
os.path.join(BASE_DIR,'templates'),
)
创建APP
# 切换到Django项目目录,执行命令
python manage.py startapp cmdb
# 目录结构
- cmdb
- migrations #数据库操作记录(只是修改表结构的记录)
- init #表示python数据包(python3中有无均可)
- admin #Django为我们提供的后台管理
- apps #配置当前app
- models #创建数据库表结构,写指定的类,通过命令可以创建数据库结构
- tests #单元测试
- views #写业务逻辑代码,最重要的就是这个文件了
用户来的时候找URL的对应的关系
内部就是创建一个sock对象,把请求给函数,函数处理完把结果返回给用户
Django 支持缓存 支持连接数据库,静态文件处理、找模版、加密
wsgiref 自己写Socket太麻烦,python有一个自定义模块wsgiref,用这个模块可以帮我们创建socket对象,我们只写处理请求的函数就行。
Django不负责写socket 也是依赖于wsgi(wsgi规则或接口),
wsgi的本质就是创建socket
上线的时候不能用默认的wsgi,需要用到第三方的模块uwsgi+nginx 程序就能跑起来
Orm ---叫关系对象映射
让数据库自动生成表的命令有
python manage.py makemigrations
python manage.py makegrate
---通过manage.py来管理程序
request.GET.get('',None) # 获取get请求发来的数据
request.POST.get('',None) # 获取post请求发来的数据
request.FILES # 获取上传文件
request.path_info()# 获取上次文件路径
request.method()# 请求是什么方式(get还是Post)
return HttpResponse("字符串")
return render(request, "HTML模板的路径")
return redirect('/只能填URL')