![](https://img-blog.csdnimg.cn/20190318174004442.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Django框架
文章平均质量分 63
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。
还是那个同伟伟
百万代码中取bug首级
展开
-
【DRF】Django Rest Framework(5.DRF中的通用视图类-GenericAPIView方法说明与使用说明)
继承自 APIView增加了操作序列化器和数据库查询的方法,作用是为下面Mixin扩展类的执行提供方法支持。通常在使用时,可搭配一个或者多个Mixin扩展类源码当我们查看 GenericAPIView 的源码时,发现,他也是继承了views.APIView。原创 2023-02-20 14:09:48 · 619 阅读 · 0 评论 -
【DRF】Django Rest Framework(4.DRF中的模型类序列化器-ModelSerializer)
### 1. Serializer 写法```python# 针对模型,设计序列化器class BookSerializers(serializers.Serializer): title = serializers.CharField(max_length=32) price = serializers.IntegerField() date = serializers.DateField(source='pub_date') # 重写或者说是,实现create()原创 2023-02-08 16:11:22 · 140 阅读 · 0 评论 -
【DRF】Django Rest Framework(3.DRF的序列化器-serializers.Serializer详解)
required=False, 可以不用传,默认是True注意,序列化器的类型,参数,最好要与模型类保持一致。原创 2023-02-08 15:19:33 · 918 阅读 · 0 评论 -
【DRF】Django Rest Framework(2.DRF概念以及APIView源码分析)
post 请求访问/book/ => view() 相当于访问了这个view()函数 => dispatch() => return post()get 请求访问/book/ => view() 相当于访问了这个view()函数 => dispatch() => return get()在REST Framework中,提供了序列化器 Serialzier 的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,APIView重写的dispatch()就是,进行封装一层认证、权限、限流的三件套。原创 2023-02-07 17:07:41 · 316 阅读 · 0 评论 -
【DRF】Django Rest Framework(1.Django的FBV和CBV模式,类视图源码解析)
as_view()方法,在Django启动的时候,加载Django的urls.py的时候,在这个py里面就调用了。使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义, CBV的本质还是FBV。Django的视图函数叫FBV(function base view 函数型视图函数)所以as_view()这个方法就往上找,在BookView的父类 View里面。但是函数是有局限性的,Django中路由一旦匹配成功了,直接导向函数执行了,具体看代码解释,写在代码中。类视图,BookView。原创 2023-02-06 14:54:35 · 478 阅读 · 0 评论 -
Celery介绍和使用
目录1.为什么使用Celery?2. Celery介绍3. 创建Celery实例并加载配置4. 定义发送短信任务5.启动Celery服务6. 调用发送短信任务1.为什么使用Celery?消费者取到消息之后,要消费掉(执行任务),需要我们去实现。 任务可能出现高并发的情况,需要补充多任务的方式执行。 耗时任务很多种,每种耗时任务编写的生产者和消费者代码有重复。 取到的消息什么时候执行,以什么样的方式执行。结论:实际开发中,我们可以借助成熟的工具Celery来完成。原创 2021-07-21 21:08:40 · 454 阅读 · 2 评论 -
Django中pipeline操作Redis数据库
1.Redis的 C - S 架构:基于客户端-服务端模型以及请求/响应协议的TCP服务。 客户端向服务端发送一个查询请求,并监听Socket返回。 通常是以阻塞模式,等待服务端响应。 服务端处理命令,并将结果返回给客户端。存在的问题:如果Redis服务端需要同时处理多个请求,加上网络延迟,那么服务端利用率不高,效率降低。解决的办法:管道pipeline2.pipeline的介绍可以一次性发送多条命令并在执行完后一次性将结果返回。 pipeline通...原创 2021-07-18 14:14:51 · 359 阅读 · 0 评论 -
Django默认用户认证系统和用户模型类
Django自带用户认证系统 它处理用户账号、组、权限以及基于cookie的用户会话。 Django认证系统位置 django.contrib.auth包含认证框架的核心和默认的模型。 django.contrib.contenttypes是Django内容类型系统,它允许权限与你创建的模型关联。 Django认证系统同时处理认证和授权 认证:验证一个用户是否它声称的那个人,可用于账号登录。 授权:授权决定一个通过了认证的用户被允许做什么。 Django认证系统...原创 2021-06-18 15:15:36 · 416 阅读 · 0 评论 -
Git的简单使用以及在Django中有关日志文件的忽略
1.三个程序简介Git Bash: Unix与Linux风格的命令行,使用最多,推荐最多Git CMD: Windows风格的命令行Git GUI :图形界面的Git,不建议初学者使用,尽量先熟悉命令2.Git配置2.1Git查看配置git config -l2.2git查看本地系统配置git config --system --list2.3git查看用户配置的git config --global --list2.4git配置用户名git...原创 2021-05-26 14:52:22 · 230 阅读 · 0 评论 -
Django项目工程配置工程日志
Django项目工程配置工程日志Django项目工程配置工程日志1.目的2.原因3.配置工程日志3.1在项目的配置文件任何位置添加3.2准备日志文件目录4.日志记录器的使用5.日志记录器的使用1.目的使用日志文件记录网站输出信息2.原因目前终端输出的信息在程序重新启动后消失,我们无法记录输出信息的历史 项目部署后,是在后台运行程序的,没有终端实时的显示输出信息 日志如果能够收集,将来可以通过日志分析用户的行为3.配置工程日志日志文...原创 2021-05-24 22:28:15 · 343 阅读 · 0 评论 -
Django中使用和配置Redis数据库
1.安装pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ django-redis使用源安装比较快2.作为 cache backend(缓存后端)使用配置在项目的配置文件中进行添加,可以将redis的地址换成虚拟机中redis数据库中的地址和端口,以及几号数据库# 配置redis数据库CACHES = { "default": { "BACKEND": "django_redis.cache..原创 2021-05-24 17:00:16 · 1083 阅读 · 0 评论 -
Django中遇到的错误集合(持续更新)
1.raise ImproperlyConfigured(django.core.exceptions.ImproperlyConfigureddjango.core.exceptions: .Unknown parameters: environmentImproperlyConfigured: Unknown parameters: environment解决方案: 注意,在配置文件中,enviroment的参数是在OPTIONS中的,也就是说和context_processors参数是同级..原创 2021-05-24 07:46:52 · 622 阅读 · 0 评论 -
Django配置开发环境和生产环境以及配置Jinja2模板引擎
配置开发环境在项目的目录(即就是settings.py的同级目录)创建settings的Python的包 在创建的settings的包中,创建dev.py,将原项目的setting.py中内容全部复制到其中 在项目的启动文件manage.py中修改,os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo_mall.settings.dev')删除settings.py文件配置生产环境在创建的settings的包中,创建p..原创 2021-05-22 20:45:26 · 7077 阅读 · 0 评论 -
Django框架(24.Django中的模板的自定义过滤器)
自定义过滤器过滤器就是python中的函数,注册后就可以在模板中当作过滤器使用Django中的使用模板的自定义过滤器在项目的应用下创建templatetags的Python的包然后建立过滤器的文件,编写过滤器函数三步骤: 1.创建templatetags的包(即目录里面有__init__.py文件) 2.创建过滤器的py 3.到创建的p...原创 2019-07-08 16:56:56 · 220 阅读 · 0 评论 -
Django框架(23.Django中的模板的标签、变量、过滤器和注释)
模板作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开发,再通过在视图中渲染模板,将生成最终的html字符串返回给客户端浏览器。模版致力于表达外观,而不是程序逻辑。模板的设计实现了业务逻辑view与显示内容template的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用。模板包含两部分:静态部分,包含html、css...原创 2019-07-08 11:47:33 · 427 阅读 · 0 评论 -
Django框架(22.Django中设置session以及session对象及方法)
Session对于敏感、重要的信息,建议要储在服务器端,不能存储在浏览器中,如用户名、余额、等级、验证码等信息。在服务器端进行状态保持的方案就是Session。数据迁移后会在数据库中创建出存储Session的表。 输入命令 生成数据库表python manage.py migrate数据库就默认就有一个名字为 django_session 来保存se...原创 2019-07-07 21:09:38 · 2955 阅读 · 2 评论 -
Django框架(21.Django中设置cookie以及获取cookie)
状态保持http协议是无状态的。下一次去访问一个页面时并不知道上一次对这个页面做了什么Cookie1.cookie是由服务器生成,存储在浏览器端的一小段文本信息。2.cookie的特点:以键值对方式进行存储。 通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器。 cookie是基于域名安全的。 cookie是有过期时间的......原创 2019-07-07 15:28:29 · 16939 阅读 · 0 评论 -
Django框架(20.Django的视图函数的request参数以及QueryDict对象)
HttpReqeust对象服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。视图函数的request参数 request参数就是一个HttpReuquest对象...原创 2019-07-06 22:07:15 · 1512 阅读 · 0 评论 -
Django框架(19.Django中获取url的参数(位置参数以及关键字参数))
捕获url参数进行url匹配时,把所需要的捕获的部分设置成一个正则表达式组,这样django框架就会自动把匹配成功后相应组的内容作为参数传递给视图函数。位置参数 位置参数,参数名可以随意指定 2. 关键字参数:在位置参数的基础上给正则表达式组命名即可。 ?P<组名> 关键字参数,视图中参...原创 2019-07-06 17:15:46 · 4740 阅读 · 0 评论 -
Django框架(18.Django中的自定义错误500页面和不存在404页面)
Django中自定义404页面和500页面有时访问不存在的页面是时候,并且没有关闭调试模式则会暴露我们的代码404:找不到页面,关闭调试模式之后,默认会显示一个标准的错误页面,如果要显示自定义的页面,则需要的templates目录下面自定义一个404.html文件。url没有配置 url配置错误500: 服务器端的错误。视图出错关闭调试模式,并且自定义一个404页面1....原创 2019-07-06 16:59:44 · 774 阅读 · 2 评论 -
Django框架(17.Django中的元选项)
元选项Django默认生成的表名: 应用名小写_模型类名小写。元选项: 需要在模型类中定义一个元类Meta,在里面定义一个类属性db_table就可以指定表名。作用: 添加上元选项之后,修改应用名的时候和模型类生成的表名没有关系了例如: 我们给下面的模型类添加上元选型class BookInfo(models.Model): """图书模...原创 2019-07-03 08:44:31 · 166 阅读 · 0 评论 -
Django框架(16.Django中的模型类管理器以及自定义管理器)
模型类.objects.all()->objects是一个什么东西呢?答:objects是Django帮我自动生成的管理器对象,通过这个管理器可以实现对数据的查询。objects是models.Manger类的一个对象自定义管理器之后Django不再帮我们生成默认的objects管理器。--------------------------------------------...原创 2019-07-02 21:32:00 · 1235 阅读 · 0 评论 -
Django框架(15.Django中的自关联)
自关联是一种特殊的一对多的关系。案例:显示广州市的上级地区和下级地区。地区表:id, atitle, aParent_id; # (areas.sql 为批量插入语句)mysql终端中批量执行sql语句:source areas.sql; 创建好模型类:# 自关联的ForeignKey 第一个参数为selfclass AreaInfo(mo...原创 2019-07-02 17:27:33 · 1649 阅读 · 0 评论 -
Django框架(14.Django中模型类的关系,以及模型类关联查询)
模型类关系1. 一对多关系例:图书类-人物类 models.ForeignKey() 定义在多的类中。2.多对多关系 例:新闻类-新闻类型类 体育新闻 国际新闻 models.ManyToManyField() 定义在哪个类中都可以。3.一对一关系例:员工基本信息类-员工详细信息类. 员工工号 models.OneToOneFie...原创 2019-07-02 11:00:15 · 802 阅读 · 0 评论 -
Django框架(13.Django中的查询集)
查询集在使用Django中的模型类查询函数:all, filter, exclude, order_by调用这些函数会产生一个查询集,QuerySet类对象可以继续调用上面的所有函数。查询集特性惰性查询:只有在实际使用查询集中的数据的时候才会发生对数据库的真正查询。 缓存:当使用的是同一个查询集时,第一次使用的时候会发生实际数据库的查询,然后把结果缓存起来,之后再使用这个查询集...原创 2019-07-01 21:31:30 · 167 阅读 · 0 评论 -
Django框架(12.Django中模型类高阶查询(Q对象以及F对象 和聚合函数查询))
Q对象作用:用于查询时条件之间的逻辑关系。not and or,可以对Q对象进行& | ~操作。& : 且 |: 或 ~ :非: 就是否定的意思使用之前需要先导入: from django.db.models import Q例:查询id大于3且阅读量大于30的图书的信息 Bookinfo...原创 2019-06-28 15:45:11 · 368 阅读 · 0 评论 -
Django框架(11.Django中的通过模型类查询数据以及相关函数和条件)
Django中的查询函数通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。 不管哪个函数注意返回值的类型 函数名 功能 返回值 说明 get 返回表中满足条件的一条且只能有一条数据。 返回值是一个模型类对象。 ...原创 2019-06-26 17:48:17 · 1409 阅读 · 0 评论 -
Django框架(10.Django中的模型类的定义以及模型类字段属性和选项)
模型类属性命名限制1)不能是python的保留关键字。2)不允许使用连续的下划线,这是由django的查询方式决定的。3)定义属性时需要指定字段类型,通过字段类型的参数指定选项,语法如下: 属性名=models.字段类型(选项)字段类型和属性使用时需要引入django.db.models包,字段类型如下: 类型 描述 ...原创 2019-06-25 20:12:50 · 1340 阅读 · 0 评论 -
Django框架(9.Django中的配置使用MySQL数据库以及页面重定向)
ORM框架简介ORM框架还可以通过方便的配置就可以进行数据库的切换进入虚拟环境,创建一个新的项目,django-admin startproject test2 (test2为项目名)创建好需要的mysql数据库 django_db1 (数据库名) 指定字符编码格式为utf81.进入项目的settings.py的文件,修改DATABASES项,进行配置数据库...原创 2019-04-08 08:34:06 · 211 阅读 · 0 评论 -
Django框架(8.Django中的模板文件的使用和模板变量的简单使用)
为什么使用模板通过视图可以给用户返回一些字符串等等,那如何向请求者返回一个漂亮的页面呢?肯定需要用到html、css,如果想要更炫的效果还要加入js,问题来了,这么一堆字段串全都写到视图中,作为HttpResponse()的参数吗?这样定义就太麻烦了吧,因为定义字符串是不会出任何效果和错误的,如果有一个专门定义前端页面的地方就好了。解决问题的技术来了:模板。在Django中,...原创 2019-04-02 18:06:08 · 942 阅读 · 1 评论 -
Django框架(7.Django中视图,url的配置)
视图 在Django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求的, 视图函数处理之后,要给浏览器返回页面内容视图函数的使用1.定义视图函数视图函数定义在views.py 中视图的必须有一个参数,一般叫request,视图必须返回HttpResponse对象,HttpResponse中的参数内容会显示在浏览器的页面上。from dj...原创 2019-03-27 15:53:55 · 351 阅读 · 0 评论 -
Django框架(6.django后台管理/通过后台对数据表的增删改)
1.django项目中的admin.py 即: 后台管理相关文件使用Django提供的相关管理机制的步骤1.本地化 语言和时区的本地化 ( 修改项目中的settings.py的文件)2.创建后台管理员 python manage.py createsuperuser 验证成功与否: 运行程序启动服务器 python ...原创 2019-03-25 20:34:58 · 3752 阅读 · 0 评论 -
Django框架(5.django中模型类建立关系和多表关系查询)
1.建立好模型类:from django.db import models# 设计和模型对应的类,(模型类)# Create your models here.# 一类# 图书类class BookInfo(models.Model): """图书模型类""" # CharField是字符串类型,max_length指定字符串的最大长度 btitl...原创 2019-03-22 14:30:39 · 386 阅读 · 0 评论 -
Django框架(4.django中进入项目的shell之后对数据表进行增删改查的操作)
django设计模型类、模型类生成表、ORM框架简介:https://blog.csdn.net/wei18791957243/article/details/88657270数据操作完成数据表的迁移之后,下面就可以通过进入项目的shell,进行简单的API操作。如果需要退出项目,可以使用输入quit()。进入项目shell的命令:python manage.py shel...原创 2019-03-20 16:20:38 · 1022 阅读 · 0 评论 -
Django框架(3.django设计模型类、模型类生成表、ORM框架简介)
ORM框架简介O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操 作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。...原创 2019-03-19 15:21:48 · 639 阅读 · 0 评论 -
Django框架(2.django框架环境的搭建、项目的创建、目录文件的介绍、以及运行环境)
Django虚拟环境和flask的虚拟环境的搭建是一样的参考 : https://blog.csdn.net/wei18791957243/article/details/85069310Djang项目的创建 在命令行中进入到虚拟环境中去,创建一个文件夹,然后进入到这个文件夹 然后 输入 创建项目的命令 django-admin startprojec...原创 2019-03-18 21:29:00 · 507 阅读 · 0 评论 -
Django框架(1.Django框架的简介)
Django简介 Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。 劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。 这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。 由...原创 2019-03-18 17:40:56 · 478 阅读 · 1 评论