django框架基础和蜗牛商城项目

django 框架使用流程:
安装django包-----------------pip install django,
使用django创建项目 -------django-admin startproject 项目名字
创建应用---------------------- django-admin startapp 应用的名字,
在项目的settings.py文件中 INSTALLED_APPS 添加应用的全限类名

定义模型类和迁移模型 : 模型类要继承 django.db.models.Model,模型类和关系型数据库的表一一映射(ORM):
一个表对应一个模型类,
一个表一个列对应模型类中的一个属性,
一个表中的一行对应一个实例对象。

在这里插入图片描述
模型类定义:
字段/属性的类型:
bool:models.BooleanField
char:models.CharField
int:models.IntegerField
float:
file:
字段属性选项:主键、自增长、唯一、允许为空、默认值

迁移模型
让数据库和模型类进行同步,使数据库表的列和模型类同步
python manage.py makemigrations
python manage.py migrate
创建模型类和配置视图url

django框架流程图

浏览器发送一个http请求,是先建立socket连接(请求行,请求头)
web服务器接收到http请求,解析请求
交给应用处理请求,根据请求的地址,在视图中进行匹配处理
视图如果需要使用数据库就调用模型
视图如果需要html数据,就导入模板引擎
然后视图将响应数据返回给服务器
服务器再拼接数据,返回http的响应数据

MVT工作流程

M: 操作数据库
V:视图是接收请求、处理请求、返回响应
T:template:把模板渲染成html

视图函数
第一个参数是HttpRequest类对象,里面封装了请求的所有数据(请求行,请求头,请求体)
返回值,必须是HttpResponse 类型对象,里面封装了响应数据(响应头,响应体)
在这里插入图片描述
视图类
视图类继承 :django.views.View
处理get请求,实现get请求,restful规范中,get请求用来查询数据
处理post请求,实现post请求,用来插入数据
处理put请求, 实现put请求,用来修改数据
处理delete请求,实现delete,用来删除数据
第一个参数是self,第二个参数是HttpRequest类型对象
返回值必须是HttpResponse对象
在这里插入图片描述
配置url视图

urlpatterns列表里面添加url规则,re_path(正则表达式)
url匹配过程????

模板
模板的使用步骤:
1、创建模板文件夹
2、配置django框架, 模板文件夹路径
3、创建模板文件
4、在视图中使用render(request,“模板文件路径(相对于模板文件夹的路径)”),模板文件夹可以使用mark as template 方式设置
5、完善模板文件内容:{%if 条件表达式%} ,模板语法我们使用的是jinja

django 中的模型
配置数据库为mysql
使用模型类进行增删改查

django中的视图:
视图url配置:根url配置 和 应用url配置
路由的反向解析reverse函数
HttpRequest对象
会话保持:cookie 和session
类视图:类视图使用方法,类视图的工作原理(dispatch函数)

HttpRequest对象 :
url 路径参数
url查询字符串 request.GET :Query Dict类型  request.GET.get("username")
请求体-form表单  request.POST.get("username")
请求体-JSON : request.body  bytes类型数据
   request.body.decode() strl类型数据 
   json.loads( request.body.decode()):字典类型数据

加粗样式

请求头数据的获取
request.META(['CONTENT_LENGTH']) 请求体的长度
request.META(['CONTENT_TYPE']) :请求体的数据类型
HttpRequest可以获取其他请求
请求方法  request.method  
请求路径: request.path
请求用户对象: request.user :登录之后是用户模型类实例,没有登录是匿名用户实例

HttpResponse 对象:
JsonResponse :在响应体中返回是封装了json字符串
render(request,"模板路径",上下文)在响应体中封装了HTML格式数据,封装在HttpResponse类型对象中
redirect(重定向页面的路径)

cookie
获取cookie的值,request上带有cookie的值,request.COOKIES.get()
设置cookie的值,response 可以设置cookie response.set_cookie()

session
通过request 去操作session
request.session.get()

git仓库的创建:
在gitee中创建仓库
clone到本地仓库
master-dev-开发者名字 工作流
创建本地分支
checkout到本地分支
创建项目 django-admin startproject woniumall

配置项目:
创建和设置开发环境中使用的项目配置文件
配置模板为jinja2
配置数据库为mysql
配置redis为缓存服务器,配置session保持在redis缓存中
配置项目日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你在狗叫什么、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值