
Django
文章平均质量分 83
Django是Python语言中的一个Web框架,Python语言中主流的web框架有Django、Tornado、Flask 等多种,本专栏对Django由入门级到高级循序渐进的进行讲述,并附有大量的实操案例
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
菜鸟之编程
不积跬步,无以至千里,不积小流,无以成江海。学习永无止境。
展开
-
Django之项目开发(二)
uWSGI 是一个 Web 服务器,可以用来部署 Python Web 应用。它是一个高性能的通用的 Web 服务器,可以运行在多种操作系统上,支持多种 Web 服务协议。执行下面的命令会把项目中所使用的静态文件收集到STATIC_ROOT指定的目录下。修改改配置文件/usr/local/nginx/conf/nginx.conf。可以手动去官网下载对应的版本,然后拷贝到linux系统中。路径默认在: /usr/local/nginx。修改uWSGI配置文件,数据流。在Nginx配置文件加设置。原创 2024-07-07 18:42:55 · 289 阅读 · 0 评论 -
Django之项目开发(一)
传统Web 项目的生命周期指的是从开始构建一个网站到该网站完成并维护的整个过程。通常情况下,Web 项目的生命周期包括以下几个阶段需求分析阶段:在这个阶段,项目组会与客户进行沟通,确定网站的功能、内容和设计。主要由产品经理参与产出思路与方案,领导确认方案设计阶段:在这个阶段,项目组会制定网站的整体架构和功能模块,并设计网站的外观和交互。产品团队参与产出需求文档、项目里程表开发阶段:在这个阶段,项目组会根据设计图制作网站的前端界面,并编写后端代码来实现网站的功能开发团队,运维团队。原创 2024-07-07 18:35:30 · 497 阅读 · 1 评论 -
Django之阿里云短信
短信验证,首先得选择一个短信发送服务器上,本文档使用阿里云实现短信发送功能。新账号赠送100条,可以不用充值,即可进行测试。原创 2024-06-30 12:46:02 · 287 阅读 · 0 评论 -
Django之邮箱注册
因为用户输入了用户信息,因此,在用户调用发送邮件的不推荐刷新,因此我们需要异步调用接口。添加子应用与ckeditor子应用。用户输入信息,将信息传递后台。后台验证数据,并反馈。原创 2024-06-30 12:43:45 · 940 阅读 · 4 评论 -
富文本编辑器CKEditor
toolbar: {items: [],})原创 2024-06-23 20:11:10 · 464 阅读 · 0 评论 -
Django之云存储(二)
修改配置文件,设置模板视图路径。原创 2024-06-23 20:03:04 · 251 阅读 · 1 评论 -
Django之云存储(一)
修改配置文件,设置模板视图路径。原创 2024-06-12 20:03:41 · 667 阅读 · 0 评论 -
Django之文件上传(二)
重命名文件也可以避免文件名冲突的问题可以根据自己情况,针对性增加描述信息。原创 2024-06-12 19:57:50 · 407 阅读 · 0 评论 -
Django之文件上传(一)
上传文件# 获取上传的文件,如果没有文件,则默认为None# 实例化一个Upload对象# 给Upload对象的file属性赋值# 保存# 获取文件。原创 2024-05-29 20:07:50 · 439 阅读 · 0 评论 -
Django之rest_framework(九)
不推荐使用全局,因为全局配置会让项目的所有视图(复合使用规范)采用分页。在分页还可以使用一个类:LimitOffsetPagination。REST framework提供了分页的支持。但往往并不是所有视图都需要分页!视图类自定义Pagination类。视图类view.py,指定分页类。原创 2024-05-29 19:57:11 · 249 阅读 · 0 评论 -
Django之rest_framework(八)
限流最主要功能就是限制访问。就是一个用户多次发送一个请求(页面或链接)的时候,单位时间内有允许访问次数限制,超过限制就会出现访问受限,提示譬如:离下一次访问还有多久之类等的字样。REST framework会在请求的查询字符串参数中检查是否包含了ordering参数,如果包含了ordering参数,则按照ordering参数指明的排序字段对数据进行排序。DEFAULT_THROTTLE_CLASSES:配置默认的节流类,列表,可以配置多个。在日常操作中,我们需要获取指定条件的数据,可以根据字段进行过滤。原创 2024-05-19 13:22:31 · 495 阅读 · 2 评论 -
Django之rest_framework(七)
REST Framework中不仅提供了业务逻辑代码的功能 ,还提供了Router的生成功能,具体使用DefaultRouter类。到目前为止,程序的API对任何人都可以编辑或删除,没有任何限制。REST Framework的对于视图集的自动生成路由,默认是识别不了自定义的方法的。若想使用,去要通过action去指定。在settings.py文件,增加代码。在settings.py文件,增加代码。往往用户验证与权限分配一起配合使用。在views.py文件,增加代码。在views.py中,增加代码。原创 2024-05-19 13:17:11 · 200 阅读 · 2 评论 -
Django之rest_framework(六)
同时包括了ListModelMixin、RetrieveModelMixin、CreateModelMixin、UpdateModelMixin、DestoryModelMixin。,作用也与GenericAPIVIew类似,提供了get_object、get_queryset等方法便于视图的开发。,同时包括了ListModelMixin、RetrieveModelMixin。ReadOnlyModelViewSet继承自。ModelViewSet继承自。原创 2024-05-09 08:50:35 · 192 阅读 · 0 评论 -
Django之rest_framework(五)
CreateAPIView 提供 post 方法继承自: GenericAPIView、CreateModelMixinListAPIView 提供 get 方法继承自:GenericAPIView、ListModelMixinRetrieveAPIView 提供 get 方法继承自: GenericAPIView、RetrieveModelMixinDestoryAPIView 提供 delete 方法继承自:GenericAPIView、DestoryModelMixin。原创 2024-05-09 08:47:42 · 305 阅读 · 0 评论 -
Django之rest_framework(四)
rest_framework提供了几种后端视图(对数据资源进行增删改查)处理流程的实现,如果需要编写的视图属于这几种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量ListModelMixin 列表视图扩展类RetrieveModelMixin 详情视图扩展类CreateModelMixin 创建视图扩展类UpdateModelMixin 更新视图扩展类DestroyModelMixin 删除视图扩展类。原创 2024-04-15 19:50:32 · 223 阅读 · 0 评论 -
Django之rest_framework(三)
rest_framework提供了几种后端视图(对数据资源进行增删改查)处理流程的实现,如果需要编写的视图属于这几种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量ListModelMixin 列表视图扩展类RetrieveModelMixin 详情视图扩展类CreateModelMixin 创建视图扩展类UpdateModelMixin 更新视图扩展类DestroyModelMixin 删除视图扩展类。原创 2024-04-15 19:48:39 · 278 阅读 · 0 评论 -
Django之rest_framework(二)
为了使我们的响应不再硬连接到单个内容类型这一事实,我们可以将API格式后缀添加到API之后。测试,和之前使用FBV是一样的结果。原创 2024-04-10 11:01:37 · 279 阅读 · 0 评论 -
Django之rest_framework(一)
REST framework引入了2个新的对象:Request和Response。原创 2024-04-10 10:59:14 · 1337 阅读 · 5 评论 -
Django之关系模型的序列化
只是在StudentSerializer类的meta中 fields 字段中添加了 classes 字段,那么序列化时,显示的只是对应的班级的主键id,如:{"id": 3, "name": "terry", "age": 18, "sex": 1, "classes":1}当前修改后的序列化内容为:{"id": 3, "name": "terry", "age": 18, "sex": 1, "classes": {"id": 1, "name": "\u4e00\u73ed"}}原创 2024-04-04 18:05:56 · 527 阅读 · 0 评论 -
Django之REST Client插件
在开发前后端分离项目时,无论是开发后端,还是前端,基本都是需要测试API接口的内容,而目前我们需要开发遵循RESTFul规范的项目,也是必然的(自己不开发前端页面)。在网上有很多这样的工具,常用的postman,但还是需要下载安装。在这我们介绍一个VSCode的插件REST ClientREST Client可以直接帮助我们在VSCode编辑器中进行接口调试,而无需新打开一个postman之类的窗口,这样的操作更加方便快捷。原创 2024-04-04 17:55:55 · 439 阅读 · 0 评论 -
Django之REST framework环境搭建
继承自ModelSerializer类,其实是一种快捷的方式,也可以直接继承serializers.Serializer,手动写字段集以及 create、update方法。当前WEB API应用中,前端要用到从后台返回的数据来渲染页面的时候,一般都是使用的json类型的数据,因为json类型简单直观便于理解,那么就需要在django框架中,将模型类数据序列化为json。在迁移之前,需要正确配置settings当中的数据库信息。打开django脚本控制台,测试执行模型的方法。必须实现class Meta。原创 2024-04-01 16:45:57 · 302 阅读 · 0 评论 -
Django之Web应用架构模式
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次。RESTful接口规范是用于在前端与后台进行通信的一套规范。使用这个规范可以让前后端开发变得更加轻松。原创 2024-03-27 20:00:50 · 327 阅读 · 0 评论 -
Django之Debug篇
Django框架的调试工具栏使用django-debug-toolbar库,是一组可配置的面板,显示有关当前请求/响应的各种调试信息,点击时,显示有关面板内容的更多详细信息。原创 2024-03-25 20:03:41 · 1222 阅读 · 1 评论 -
Django之Celery篇(三)
Celery在执行任务时,提供了钩子方法用于在任务执行完成时候进行对应的操作,在Task源码中提供了很多状态钩子函数如:on_success(成功后执行)、on_failure(失败时候执行)、on_retry(任务重试时候执行)、after_return(任务返回时候执行)Celery可通过task绑定到实例获取到task的上下文,这样我们可以在task运行时候获取到task的状态,记录相关日志等。self对象是celery.app.task.Task的实例,可以用于实现重试等多种功能。原创 2024-03-24 13:37:43 · 391 阅读 · 1 评论 -
Django之Celery篇(二)
和settings.py文件同目录,一定不能建立在项目根目录,不然会引起 celery 这个模块名的命名冲突。apply_async的args参数需要以列表的形式传递。对象获取,需要传递任务ID,与Celery对象。获取Celery的任务结果可以通过。apply_async( )方法。切换到项目目录中,执行命令。delay( )方法。判断任务执行是否成功。判断任务执行是否失败。原创 2024-03-24 13:29:37 · 1070 阅读 · 1 评论 -
Django之Celery篇(一)
Celery是由Python开发、简单、灵活、可靠的分布式任务队列,是一个处理异步任务的框架,其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务。Celery侧重于实时操作,但对调度支持也很好,其每天可以处理数以百万计的任务。简单:熟悉celery的工作流程后,配置使用简单高可用:当任务执行失败或执行过程中发生连接中断,celery会自动尝试重新执行任务快速:一个单进程的celery每分钟可处理上百万个任务灵活:几乎celery的各个组件都可以被扩展及自定制。原创 2024-03-24 13:19:56 · 405 阅读 · 0 评论 -
Django缓存(二)
你可以缓存任何可以安全的 pickle 的 Python 对象:模型对象的字符串、字典、列表,或者其他。你的站点包含了一个视图,它的结果依赖于许多费时的查询,而且结果会随着时间变化而改变。在这个情况下,使用站点或视图缓存策略提供的全页面缓存并不理想,因为不能缓存所有结果(一些数据经常变动),不过你仍然可以缓存几乎没有变化的结果。Django的缓存可以设置缓存指定的视图,具体方式使用django.views.decorators.cache.cache_page,装饰器:以方法以装饰器的方式使用。原创 2024-03-23 16:01:15 · 625 阅读 · 0 评论 -
Django缓存(一)
Django 缓存框架 | Django 文档 | Django为什么要什么缓存?为了减少服务器的计算开销Django框架自带有一个强大的缓存系统,可以保存动态页面,因此不必为每个请求计算它们。为了方便,Django提供不同级别的缓存粒度:可以缓存特定视图的输出,可以只缓存难以生成的部分,或者你可以缓存整个网站。原创 2024-03-23 15:39:40 · 1038 阅读 · 1 评论 -
Django信号
Django有一个“信号调度器(signal dispatcher)”,当框架中的其他地方发生操作时,它可以通知一些解耦的应用程序信号 | Django 文档 | Django")该函数接收一个sender参数以及关键字参数 (**kwargs所有信号处理程序都必须接受这些参数何时使用自定义信号信号是隐式函数调用,这使得调试更加困难。如果你的自定义信号的发送器和接收器都在你的项目内,最好使用显式函数调用所有的信号都是的实例")原创 2024-03-22 20:17:54 · 447 阅读 · 0 评论 -
Django日志(四)
过滤器用于从logger传递给handler的哪些日志要做额外控制默认情况下,满足日志级别的任何消息都将处理。只要级别匹配,任何日志消息都会被处理。不过,也可以通过添加 filter 来给日志处理的过程增加额外条件。例如,可以添加一个 filter 只允许某个特定来源的ERROR消息输出Filters还可以用于修改将要处理的日志记录的优先级。例如,如果日志记录满足特定的条件,可以编写一个filter将日志记录从ERROR降为WARNING。原创 2024-03-22 20:13:14 · 241 阅读 · 0 评论 -
Django日志(三)
atTime=None:必须是datetime.time实例,指定文件第一次切分的时间,when设置为S,M,H,D时,该设置会被忽略。mailhost:发件人邮箱服务器地址(默认25端口)或地址和指定端口的元组,如:('smtp.qq.com', 25)delay=False:True是写入文件时才打开文件,默认False,实例化时即打开文件。utc=False:False则使用当地时间,True则使用UTC时间。when='h' 时间间隔类型,不区分大小写。interval=1:间隔的数值。原创 2024-03-21 21:16:37 · 198 阅读 · 0 评论 -
Django日志(二)
maxBytes:最大字节数,超过时创建新的日志文件,如果backupCount或maxBytes有一个为0,那么就一直使用一个文件。handler对应的是个字典,每一个键都是一个handler的名字,每个值又一个字典,描述了如何配置对应的handler实例。FileHandler:继承自StreamHandler,输出到文件,默认情况下,文件无限增长。backupCount:最大文件个数,新文件的扩展名是指定的文件后加序号".1"等,mode ='a' 文件的写入模式。filename 文件的名字。原创 2024-03-21 21:14:03 · 318 阅读 · 0 评论 -
Django日志(一)
日志是程序员经常在代码中使用快速和方便的调试工具。它在调试方面比print更加的优雅和灵活而且日志记录对于调试很有用,可以提供更多,更好的结构化,有关应用程序的状态和运行状况的信息Django框架的日志通过python内置的logging模块实现的,可以记录系统运行中的一些对象数据,还可以记录包括堆栈跟踪、错误代码之类的详细信息。原创 2024-03-21 21:11:19 · 412 阅读 · 0 评论 -
Django生命周期
Django请求的生命周期是指:当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情。原创 2024-03-18 18:26:02 · 994 阅读 · 2 评论 -
Django中间件
AOP(Aspect Oriented Programming ),面向切面编程,是对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。可以实现在不修改源代码的情况下给程序动态统一添加功能的一种技术面向切面编程,就是将交叉业务逻辑封装成切面,利用AOP的功能将切面植入到主业务逻辑中。所谓交叉业务逻辑是指,通用的,与主业务逻辑无关的代码,如安全检查,事务,日志等。若不使用AOP,则会出现代码纠缠,即交叉业务逻辑与主业务逻辑混合在一起。原创 2024-03-18 18:23:57 · 344 阅读 · 0 评论 -
Django验证码(二)
通过pillow模板库生成图片,步骤如下。增加验证码图片标签和输入验证码内容的标签。在图片标签上增加点击刷新的功能。修改 login 函数。原创 2024-03-17 10:11:48 · 642 阅读 · 0 评论 -
Django验证码(一)
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试等。原创 2024-03-17 10:05:06 · 285 阅读 · 0 评论 -
Django会话
HTTP协议有一个特性就是无状态的,是指协议对于交互性场景没有记忆能力随着动态交互的web应用的出现,HTTP的无状态特性严重阻碍了动态交互应用程序的发展,例如一些购物网站在进行购物时候都会进行了页面跳转/刷新,按照HTTP的无状态协议岂不是登录一次又一次。于是,两种用于保持http连接状态的技术就应运而生了,这个就是Session和Cookie。原创 2024-03-09 10:01:07 · 246 阅读 · 0 评论 -
Django后台管理(二)
Django 管理站点 | Django 文档 | DjangopassModelAdmin类是管理界面中模型的表示。通常,这些都存储在你的应用程序中一个名为admin.py的文件中提示如果你对默认的管理界面满意,你根本不需要定义一个ModelAdmin对象# 显示的属性列表, 值是 属性名# 排序的 属性 列表 , 默认是升序,如果需要降序:['-age']属性为空时,在网页上显示的内容,默认是: -fields管理的字段exclude不管理的字段。原创 2024-02-26 21:51:43 · 233 阅读 · 0 评论 -
Django后台管理(一)
Django 最强大的部分之一是自动管理界面。它从你的模型中读取元数据,提供一个快速的、以模型为中心的界面,受信任的用户可以管理你网站上的内容提示后台管理系统是管理人员使用,不是给客户使用此应用默认是开启的。原创 2024-02-20 19:11:38 · 684 阅读 · 0 评论