Django初识
HTTP协议
超文本传输协议
规定了客户端与服务端消息传输的格式
四大特性
基于 TCP/IP协议 作用于应用层的协议
基于请求响应 不主动发送请求
无状态 每次状态都不保留都当做第一次请求
无连接
数据格式之请求
请求首行
请求头
一堆
key-value
键值对<<<<这里是空格
请求体
POST 请求携带的数据
数据格式之响应
响应首行
响应头 Headers
一堆
key-value
键值对<<<<这里是空格
响应体
POST请求携带的数据
Status Code 响应状态码
1xx 服务器已经成功接收到你的数据正在处理,你可以继续提交其他数据
2xx 请求成功 服务器已经将你请求的数据发送给你了
3xx 重定向
4xx 请求资源错误
5xx 服务器错误
动静态网页
静态网页
页面上的数据是写死的
动态页面
页面上的数据是从后端获取的
模板渲染
后端生成的数据直接传递给前端页面,并且前端页面可以灵活的操作该数据
模板渲染需要依赖第三方模块
pip install jinja2
什么是Web框架
主流
Django:大而全 自带了很多功能模块,类似于航空母舰 有点笨重
Flask:小而轻 自带的模块特别少, 大部分都是依赖于第三方模块
Tornado:支持异步非阻塞,主要处理高
IO
多路复用的情况,可以写游戏后台
Django
socket 用别人的wsgiref
路由与视图函数 自己写的
模板渲染 自己写的
app的概念
一个Django项目就是一所大学,app就是大学里的学院
命令行创建Django项目
- django-admin startproject 创建项目
- python3 manage.py startapp app0 创建app
- python3 manage.py runserver 启动服务
默认不会自动创建templates文件夹,要注意文件路径是否配置吧
默认不会自动创建 templates 文件夹
Pycharm 自动创建
Django
注意事项
- 计算机名不能是中文
- 一个pycharm窗口就是一个项目,不要多个项目放在一个窗口里面
- 项目名不能是中文
Django 各个文件的作用
应用
migrarions 数据库迁移记录相关数据
admin.py Django后台管理相关
models.py 模型表相关
views.py 视图函数相关
项目
settings.py 配置文件
urls.py 路由与视图函数的映射关系
tenplates 项目中所有用到的html文件
manage.py Django 入口文件
settings文件
新创建的app需在配置文件中的 INSTALLED-APPS 中注册 才能生效
三种数据返回方式
HttpResponse(“text”) 返回字符串
render(“.html”) 返回页面
redirect() 重定向 | 页面跳转