2021-09-21第一天
redis的使用 redis-cli 进入
set code 用户手机号 手机号码
get code 查看验证码
expire code 时间 有效时间
incr code
git使用 git clone https://gitee.com/QiHanXiBei/h2103-a.git 创建h2103-a
git config --global user.email "3486806247@qq.com" 邮箱
git pull 加载
git add -A 加入
git commit -m '20210907_homework'
git push origin master 加入
超级用户
python manage.py createsuperuser
Django
处理HTTP
Wsgl.py
Vue ------> uwsgli------>Django
Python manage.py runserver
开启uwsgi 启动django
""" WSGI config for mydjango project. ? It exposes the WSGI callable as a module-level variable named ``application``. ? For more information on this file, see https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/ """ ? import os ? from django.core.wsgi import get_wsgi_application ? os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mydjango.settings") ? application = get_wsgi_application() ?
设计模式----->mvc------>代码
mvc ----->tava
【2021-09-21第一天】
9月18下午
django的创建命令
django-admin startproject 项目名册
Model的作用什么
操作数据库
View的作用是什么
视图 处理逻辑 业务逻辑
Model如何来使用?
建立表结构 ---------->创建模型类
迁移模型类 ----------->迁移模型类
表的数据操作---------->增删改查()
迁移成功的条件是migrations文件夹中生成
python manage.py makemigrations 迁移操作
python manage.py migrate 迁移操作
数据的查询
1、基本查询
book = BookInfo.objects.get(btitle = "西游记") # 单一查询,如果结果不存在 报错
book = BookInfo.objects.all(btitle = "西游记") #查询多个结果,有多少返回多少,不存在返回None
book = BookInfo.objects.filter(btitle = "西游记").count() #查询结果的数量
book = BookInfo.objects.exclude(btitle = "西游记") # 查询结果取反
2、模糊查询
a.contains 是否包含
book = Bookinfo.objects.filter(btitle_contains="记") # 查询结果包含’记‘的
b.s
2.模糊查询: acontains是否包含 book=Bookinfo.objects.flter(btitlecontains='记) #查询结果包含记的
b.start.swith,end.swith以指定值开头或结尾
book=Bookinfo.objects.fiter(btitle_startswith=西) #查询以西开头的
book =Bookinfo.objects.flter(btitleendswith='记)) #查询以记结尾的
3.空查询:
isnull 是否为空
book=Bookinfo.object.flter(bititleisnull=Flase) #查询bititle不为空
4.范围查询:
in在范围内
range 相当于between...and...
book =Bookinfo.object.fiter(id_in=[1,5,13,24]) #查询id为1或5或13或24
book=Bookinfoobject.flter(id_range =[10,20]) #查询范围为10-20的id
5比较查询:
gt 大于 gte 大于等于 It 小于 Ite 小于等于 exclude 不等于 book=Bookinfo.object.flter(idgt=10) #查询id大于10的 book=Bookinfo.object.exclude(id=10) #查询id不等于的10的
7.F对象和Q对象
比较两个字段对象之间的关系用F对象。(F对象可以进行运算)
book=Bookinho.object.hiter(bread.gte=F('bcomment')) #查询阅读量等于评论量的对象
book=Bookino.object.hiter(bread_gte=F(bcomment')*2)
#与逻辑运算符连用使用Q对象。 或(|) 与(&) 非 (-)
book=Bookinfo.object.flter(Q(bread_gte=20)Q(pk_It=3))#查询阅读量为20或者id为3的对象
8.聚合函数
使用aggregate()过滤器调用聚合函数。聚合函数包括:Avg平均,Count数量,Max最大,Min最小,
Sum求和
book=Bookinfo.Object.aggregate(Sum('bread)) #求阅读量的和
9.排序
使用order_by对结果进行排序
book=Bookinfo.object.all()order by('bread') #按阅读量的升序排列
book=Bookinfo.object.all()orderby(-bread) #按阅读量的降序排列
10.关联查询
一对多模型
一到多的访问语法:一对应的模型类对象多对应的模型类名小写set
b=Bookinfo.object.filter(id=1)
b.heroinfo_set.all() #查询bookid=1的书里的所有英雄
(一本书里有多个英雄,一个英雄只能存在一本书里。表关系为一对多,英雄表里外键关联书id英雄表里的存放多个书id。英表为多,书表为一。)
多到一的访问语法:多对应的模型类对象多对应的模型类中的关系类属性名
h=Herolnfo.object.flter(id=1)
h.hbook #查询英雄id=1的书是哪本。
方向查询除了可以使用模型类名set还有一种是在建立模型类的时候使用relatedname来指定变量名
hbook=modelForeignKey(Herolnfoon_delete=model.CACADEnull=Ture,related name='heros') b.herose.all()
view的使用 获取view里request的请求参数
- 获取get
- request.GET.get()
- request.GET.get()
- 获取form-data
- request.POST.get()
- request.POST.get()
- 获取json
- data=https://www.it610.com/article/request.body
- json.loads(data)
- data=https://www.it610.com/article/request.body
返回请求的数据
- 返回json
- jsonResponse
- jsonResponse
- 返回字符串
- HTTPResponse
- HTTPResponse
序列化
- for i in 查询结果集
- 数据=i,字段名
推荐阅读
- 开学第一天(下)
- 上班记
- 随便写写|随便写写 - 草稿
- D206清明第一天
- springboot使用redis缓存
- 去泗交山上玩
- (1)redis集群原理及搭建与使用(1)
- springboot结合redis实现搜索栏热搜功能及文字过滤
- Redis——发布订阅/消息队列
- redis|redis 常见问题一