1.Django框架
1.什么是Django框架
Django是一个高级的Python Web开发框架,为了方便人们去进行Web开发。
2.常用的Web框架
Django:大而全,自带的组件和功能非常非常多,类似于航空母舰
不足之处:写一些小项目的时候可能会比较笨重(大材小用)
Flask:小而精,短小精悍,自带的组件和功能都特别特别少,基本全部依赖于第三方组件,
不足之处:受限于第三方模块的影响比较大,
如果将Flask所有第三方模块加起来,能够直接超过Django
Tornado:主要是异步非阻塞,这个框架在使用的时候非常快,可以用来开发游戏服务器
不同之处
a:socket部分 b:路由匹配 c:模板语法
Django:
a:用的别人的wsgiref(django默认的)
b:自己写的
c:自己写的
Flask:
a:用的是别人的werkzeug
b:自己写的
c:用的别人的jinja2
Tornado:
a,b,c 都是自己写的
2.http协议
1.四大特性:
1.基于TCP/IP作用与应用层之上的协议
2.基于请求响应
3.无状态 --- cookie,session,token
4.无连接 --- websocket长连接
2.数据格式
请求格式
请求头
请求体
3.响应状态码
用数字表示一串语言解释
4.模拟Django框架
3.Django安装
1.使用cmd安装使用
① 确认是否已经安装了Django
>>> django-admin
②新建一个项目
>>> django-admin startproject 项目名
③切换到文件目录,开启django
>>> python manage.py runserver # runserver后边可以加ip:端口,要空一格
2.使用pycharm安装
①创建Django
new project ---->> Django ---->> create
②创建app
Tools ---->> run manage.py task
3.两种安装方式的区别:
1.使用cmd安装不会帮你创建templates文件夹
2.配置文件种不会帮你书写templates路径
4.配置安装使用时候需要注意事项:
使用cmd:
1.在开启Django的时候,可以使用python,也可以使用python3。
2.使用cmd创建的项目是没有templates文件夹,需要自己添加
使用pycharm创建的时候:
1.注意下载的Django版本,最好是在1.11.9~1.11.13这个区间之内
2.新下载的Django会将之前的Djanjo版本给顶掉
3.Djanjo对python3.7版本不是很兼容,有时候操作会报错
4.一定要确保同一个端口,同一个时间只能启动一个Django项目
5.Django是自动重启的,有时候报错不用担心
6.新建的app一定要在Django配置文件种注册才能生效,没有注册是不能进行使用的
5.Django文件功能:
Django项目名
项目同名的文件夹
settings.py 暴露给用户可以配置的配置文件,templates就是在这里边配置的
urls.py 路由与视图函数对应关系
manage.py Django的入口文件
migrations文件夹 所有数据库相关的记录操作
admin.py Django admin后台管理
apps.py 注册app使用
models.py 放所有数据库相关的模型
tests.py 测试文件
views.py 处理业务逻辑的视图函数
6.Django小白必会三板斧
HttpResponse 返回字符串
render 返回html页面传值,可以给html页面传值
redirect 重定向,可以写本网站,也可以写全路径
实例:
from django.shortcuts import render,HttpResponse,redirect
HttpRespons
def index(request):
return HttpResponse('一脸懵逼')
render:
def login(request):
user_dic = {'username':'jason','password':'123'}
return render(request,'login.html',{'xxx':user_dic})
redirect:
def home(request):
return redirect('/login') # 重定向,第一种
return redirect('https://www.baidu.com') # 重定向,第二种
今日学习新知识点
1.定义一个函数,传入两个形参,env,response
env:请求相关的所有数据,将http数据全部提前处理成了字典的行式
response:响应相关的所有数据
2.from wsgiref.simple import make_server
from wsgiref.simple import make_server
if __name__ == '__main__':
server = make_server('127.0.0.1',8080,run)
server.serve_forever() # 启动服务端
表示实时监听本机8080端口,一旦有请求过来,会统一交给run函数处理,(调用run函数并传参run(env,response))