Django入门总结
一、软件开发架构
两种架构:
- c/s :客户端/服务器
- b/s:浏览器/服务器
2 HTTP协议
-
http数据请求格式(响应)格式
- 请求(响应)首行(请求方式,协议版本)
- 请求(响应)头(一对k:v键值对)
- 空格|\r\n
- 请求(响应)体(真正的数据,发送post请求时候才会有,如果是get请求不会有)
-
http四大特性
- 基于tcp/ip之上的应用层
- 基于请求响应
- 无状态(session cokies token)
- 无连接(长连接 websocket他是HTTP协议的大补订)
-
请求状态码
1xx:表示服务器已经收客户端的数据,正在处理,客户端可以继续发送数据
2xx: 表示服务器响应客户端请求成功
3xx:表示重定向
4xx:表示请求失败
5xx:服务器内部错误
-
get和post请求方式
- get:向服务器拿数据
- post:向服务器提交数据,进行验证(eg:登录)
-
url:统一资源定位符
application:全局数据共享
二、纯手撸web框架
-
手鲁web框架
- socket自己写
- http请求数据自己处理
-
wsgiref模块(web网关服务接口)
- socket接口帮你封装好了
- http数据帮你处理好了
- 1请求来到时候,帮你解析http数据格式,进行封装
- 2响应走的时候,也会自动把数据封装成http数据的格式返回
-
根据不同功能拆分成不同的.py文件
- urls.py :路由与视图对应的关系
- views.py处理业务逻辑的视图函数,也可以是类
- templates:专门存放html标签
规律:只用你想添加功能,只需要在url.py中添加一条对应的关系,然后再去views.py中写一个函数
三、动静态网页
- 静态网页:页面上的数据是一成不变的(一百年之后也不会变)
- 动态网页:页面的数据可以随时改变,并做出响用
- 通过字符串替换的方式
- 借助于jinja2模块实现模板的渲染
- 模板语法两种格式{{}}
四、python三大主流web框架
-
django框架
django框架自带功能齐全,socket用别人的,路由与视图函数对应关系和模板语法自己实现
-
flask
是一个轻量级的框架,依赖于第三方模块,socket和模板语法用别人的,路由与视图函数对应关系是自己实现的
-
tornado
是一个异步非阻塞,可以做游戏服务器,socke和模板语法,路由与视图函数对应关系都是自己写的
A:socket部分
B:路由与视图函数对应关系
C:模板语法
Django:
A用的别人的 wsgiref
B自己写的
C自己写的
Flask
A用的别人的 werkzeug(基于wsgiref)
B自己写的
C用的别人的 jinja2
Tornado
三者全是自己写的
五、django框架的安装和使用
-
django版本问题
django主要分为1.x与2.x,市面比较流行的是1.x
-
django安装
pip install django==1.11.11
-
查看django是否安装成功
diango-admin
-
注意事项
- 计算机名称不要使用中文
- 一个pycharm一个项目
- 项目下面尽量不要使用中文命名
-
项目下面的app
- 一个项目可以有多个app
- 一个app就是一个项目下的一个功能,一个django的项目就类似于一所大学,然后多个app就是大学里面的各个学院
- 一个app就相当于一个功能模块,这样的好处有益于,每个人开发互不干扰,都可以独立自主的开发一个功能模块,app之间互不影响
- django支持多个app
-
命令行创建django项目
- 创建django项目:django-admin startproject 项目名
- 启动项目:python manage.py runserver
- 创建一个app: python manage.py startapp app名称
-
使用parcharm创建项目
-
创建的项目会有和当前项目名相同的文件夹
-
会自动创建一个app
-
启动项目要保证唯一的端口,默认8000
-
项目创建的结构
·跟项目名同名的文件夹
settings.py 暴露给用户的配置文件,
urls.py :配置与视图函数对应关系
应用名
migrations文件, 存放的是数据库迁移记录的
admin.py djaong管理员后台管理
apps.py 注册相关
models.py 模型类
tests.py 做测试文件
views.py 存放的是与url对应的视图函数
templates 文件夹,用来存放html文件
manage.py django入口文件
-
-
注意:
- 使用命令创建项目不会自动创建一个app,需要手动命令创建,并且需要到配置文件中手动配置
- 使用命令创建的项目不会自动模板文件,需要手动创建,并且需要到配置文件中手动配置os.path.join(BASE_DIR, 'templates')
- parcharm可以自动创建一个app,创建多个需要通过命名手动创建,并且要到配置文件中配置
- parcharm可以自动创建templates文件夹
-
数据库迁移命令
- python manage.py makemigrations
- python manage.py migrage
、