![](https://img-blog.csdnimg.cn/0d2e905c4a4947beb8398f5dd0fb29a6.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Django
Django框架从入门到入土
冰点契约丶
西安互联网付费就业,Java开发,软件测试开发线上线下辅导 欢迎有需要的朋友咨询。
展开
-
使用模型类进行字段查询
基本查询get:返回查询到的单一结果,如果,没有查询到则抛出DoesNotExist异常all:返回全部结果count:返回查询结果数量过滤查询实现SQL中的where功能filter过滤出多个结果exclude:排除符合条件的结果get:获取单一结果魔法下划线过滤表达式:exact:表示相等contains:表示包含isnull:空查询 语法:__isnull=Truein:范围查询 例: __in=[1001,1002]比较查询:gte:大于等于gt:大于lt:小原创 2021-09-24 23:14:31 · 80 阅读 · 0 评论 -
使用模型类对数据库进行增删改
get方法会返回一个查询到的对象,而filter方法会返回一个查询集,可以对查询集进行批量操作增加字段方式1:o=ModelName(k=v)o.save()方式2:ModelName.objects.create(k=v)修改字段方式1:o=ModelName.get(k=v)o.k=vo.save()方式2:ModelName.filter(k=v).update(k=v)删除字段方式1:o=ModelName.get(k=v)o.delete()方式2:Model原创 2021-09-24 22:33:32 · 106 阅读 · 0 评论 -
Django Cookie
浏览器请求服务器是无状态的。无状态:指一次用户请求时,浏览器、服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求。无状态原因:浏览器与服务器是使用Socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前套接字连接,而且服务器也会在处理页面完毕之后销毁页面对象。无状态原因:浏览器与服务器是使用Socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的Socket连接,而且服务器也会在处理页面完毕之后销毁对象。有时需要保持下来用户浏览的状态,比如用户是否登录原创 2021-03-13 19:28:25 · 104 阅读 · 0 评论 -
Django Response对象
视图函数在接收请求并处理后,必须返回HttpResponse对象或子对象。HttpRequest对象由Django创建,HttpResponse对象由开发人员创建1.HttpResponse可以用Django.http.HttpResponse来构建响应对象语法:HttpResponse(content=响应体,content_type=响应体数据类型,status = 状态码)也可以通过HttpResponse对象属性来设置响应体、响应体数据类型、状态:1)content:表示返回的内容2)原创 2021-03-13 14:41:21 · 155 阅读 · 0 评论 -
Django框架HttpRequest对象
利用HTTP协议向服务器传参有几种途径:1.提取url的特定部分,如/film/zhangsan/20/,可以在服务器端的路由中用正则表达式截取;2.查询字符串(query string),形如key1=value&key2=value2;3.请求体(body) 中发送的数据,比如表单元素、json、xml;4.在http报文的头中1.url路径参数1.如果想从URL中获取值,需要在正则表达式中使用分组,2.获取值分为两种方式位置参数:参数的位置不能错关键字参数:参数的位置可以变,原创 2021-03-13 01:12:23 · 116 阅读 · 0 评论 -
Django视图参数的传递
1.传递方式1path("<int:number>/verify",verify)def verify(request,number): print(number) return HttpResponse("号码上传成功!")浏览器访问:127.0.0.1:8000/(number)/verify2.传递方式2以字典的方式传参,参数3为键值对例:path(“firstpage/”,firstpage,{“page”:1})…3.传递方式3在总路由处进行字典传原创 2021-03-12 18:19:56 · 966 阅读 · 0 评论 -
Django路由命名与reverse反向解析
1.路由命名在定义路由的时候,可以为路由命名,方便查找特定视图的具体路径信息。1.在定义扑通路由时,可以使用name参数指明路由的名字,如:path(…,…,name=“firstview”)2.在使用include函数定义路由时,可以使用namespace参数定义路由的命名空间。命名空间的作用:避免不同应用中的路由使用了相同名字发生冲突,使用命名空间区别开。例:path("film/",include(('film.urls','film'),namespace='filmapp')命名原创 2021-03-12 17:45:26 · 381 阅读 · 0 评论 -
Django路由配置
配置URLconf1)settings.py中指定根路由ROOT_URLCONF= “项目工程同名目录.urls”2)编辑项目中 urls.py(根路由)include用来匹配子路由匹配成功后,包含到应用的urls.pyre_path(正则,include(“应用.urls”))3).创建应用中的 urls.py(子路由)匹配成功后,调用views.py对应的函数re_path(正则,views. 函数名)4)路由文件urls.pyfrom django.urls import inc原创 2021-03-12 12:46:52 · 388 阅读 · 0 评论 -
Django视图介绍
django视图介绍视图就是应用中views.py文件中的函数视图的第一个参数必须为HttpRequest对象,还可能包含以下参数:1.通过正则表达式组获取的位置参数2.通过正则表达式组获得的关键字参数视图函数必须返回一个HttpResponse对象或子对象作为响应子对象:JsonResponse HttpResponseRedirect视图函数的功能:视图函数负责接收Web请求HttpRequest,进行逻辑处理,返回Web响应响应内容可以是HTML内容,404错误,重定向,json数据原创 2021-03-12 11:47:37 · 135 阅读 · 0 评论 -
DjangoORM查询集
1.概念:查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象的集合。当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表):all():返回所有数据filter():返回满足条件的数据exclude():返回条件之外的数据order_by():对结果进行排序对查询集可以再次调用过滤器进行过滤>>> FilmINfo.objects.filter(playcount__gt=1000).order_by("fid")<QuerySet [原创 2021-03-12 01:02:06 · 155 阅读 · 0 评论 -
Django shell关联与过滤查询
1.关联查询由一到多的访问语法:一对应的模型类对象.多对应的模型类名小写_set。例:查询编号为1的影片的所有人物信息`film=FilmINfo.objects.get(fid=1)film.peopleinfo_set.all()<QuerySet [<PeopleInfo: 林品茹>]>`由多到一的访问语法:多对应的模型类对象.多对应的模型类中的关系类属性名例:查询人物编号为2的影片信息>>> people=PeopleIn原创 2021-03-11 23:32:29 · 172 阅读 · 0 评论 -
Django中的F对象与Q对象
1.F对象如果需要对同一模型类对象的两个属性进行比较,则需要使用到F对象该对象被定义在django.db.models中查询播放量大于评论量的影片:>>> from django.db.models import F>>> FilmInfo.objects.filter(playcount__gt=F('commentcount'))也可以对F对象进行算数运算查询播放量大于2倍评论量的影片FilmInfo.objects.filter(playcount原创 2021-03-10 22:31:51 · 509 阅读 · 0 评论 -
Django Shell之基础查询
Django Shell之基础查询1.基本查询get:查询单一结果,如果不存在则抛出异常all:查询多个结果count:查询结果数量>>> FilmINfo.objects.get(fname="大话西游")<FilmINfo: 大话西游>>>> FilmINfo.objects.all()<QuerySet [<FilmINfo: 回家的诱惑>, <FilmINfo: 大话西游>, <FilmINfo:原创 2021-03-10 00:52:08 · 207 阅读 · 2 评论