![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
django
小泽十一章
这个作者很懒,什么都没留下…
展开
-
django中实现restful API的编写
django中编写resetful API可以使用django-rest-framework,django-rest-framework的安装很简单:pip install djangorestframeworkpip install markdownpip install django-filter安装完成之后需要在settings中配置一下rest_framework中有许多现成...原创 2019-08-13 22:39:36 · 403 阅读 · 0 评论 -
Django自定义User模型以及用户系统(用户、权限、组)的使用
Django自带强大的User系统,为我们提供用户认证、权限、组等一系列功能,可以快速建立一个完整的后台功能。但User模型并不能满足我们的需求,例如自带的User表中没有手机号码,而且对于国人来说表中的first_name和last_name并没有什么卵用,对于实际生产中灵活的用户表来说重写User模型是非常有必要的。自定义模型有许多的方法:1、Proxy继承:代理继承,此方法只能够继承...原创 2019-09-20 17:48:44 · 12740 阅读 · 2 评论 -
django2.1.7配置xadmin以及bug解决方案
强大的Django框架为我们自带了admin后台管理系统,为我们的开发省去了很多的事情,但有一个不好的地方,就是自带的admin系统太丑了!影响着我们操作后台的心情,因此很有必要换一个漂亮的后台管理系统,Xadmin就提供了这样一个系统。Xadmin基于bootstrap3,页面相对admin要美观许多,Xadmin作为一款全面的后台管理系统框架,不仅提供了基本的CRUD功能,还内置了丰富的插件功...原创 2019-09-18 23:53:36 · 653 阅读 · 0 评论 -
django之中间件详解
django中的中间件贯穿一个请求的始终,请求进来会被中间件的process_request拦截,执行视图函数时会被中间件的process_view拦截,模版渲染时会被中间件的process_template_response拦截,产生错误异常时会被中间件的process_exception拦截,返回响应时会被中间件的process_response拦截。因此在django中中间件是一个非常重要的...原创 2019-09-18 11:34:58 · 503 阅读 · 0 评论 -
Django之paginator分页功能及重写Paginator类实现自定义分页
网页中经常会用到分页,django中自带的paginator为我们很好的实现了分页功能。虽然其中还有些功能待完善,例如paginator会为我们将所有的页码全部展现出来,如果页码过多的话,全部显示就不太合理了,此时我们可以通过重写paginator类去实现我们想要的结果。想要使用分页功能首先需要导入:from django.core.paginator import Paginator...原创 2019-09-16 22:35:35 · 957 阅读 · 1 评论 -
Django中Manager管理器的使用
Django强大的ORM帮助我们实现了通过类和对象去操作数据库,从而大大简化了我们在后台操作数据库的难度,那么Django是如何实现和数据库之间的映射的呢?django中ORM有三个类:Manager、Queryset、Model,其中Manager类实现了和数据库之间的操作,Manager类中定义了许多表级方法,通过这些方法实现数据库的查询,并且将查询到的结果封装成一个Queryset对象返回...原创 2019-09-09 21:09:20 · 747 阅读 · 0 评论 -
django中django-celery实现定时任务
在网站开发的过程中我们经常会遇到一些异步任务的需求,有些异步任务是实时的,有些则是需要定时完成,我写过一篇django中使用celery编写异步发送邮件的博文https://blog.csdn.net/weixin_44951273/article/details/100107526,这次使用django-celery编写定时任务,需要用到的第三方库:pip install django-cele...原创 2019-09-03 22:57:51 · 1008 阅读 · 1 评论 -
django中haystack+whoosh+jieba实现网站的全局搜索功能
一提起数据库关键搜索,相信大家都会想起like语句,django中也可以使用orm的contains进行查询,这种查询是非常耗时间的,对于小量数量还可以,但随着数据的增多,查询速度会急剧下降,因此网站中使用这种方式是非常不合理的。基于这种情况,许多全文搜索框架应运而生。本来打算使用haystack+elasticsearch实现全局搜索,但windows的系统环境问题和windows版的dock...原创 2019-08-30 22:44:29 · 451 阅读 · 0 评论 -
django之celery+redis异步发送注册邮件
在网站开发过程中,我们经常会给用户发送email进行注册激活等操作,然而发送邮件时需要时间的,在这个时间内后台程序是处于阻塞状态的,用户只能在邮件发出后才能得到响应,这严重影响用户体验。因此邮件的异步发送就变得尤为重要,celery是由oython编写的简单、灵活且可靠的,处理大量消息的分布式系统,他是一个专注于实时处理的任务队列,但同时也支持任务调度。使用celery执行异步任务主要分为3个部...原创 2019-08-28 09:15:02 · 707 阅读 · 0 评论 -
django ORM之CRUD基本、进阶、高阶操作
django的orm是一个十分强大的数据库操作模块,用面对对象的思想为我们重构了sql查询语句,一个类就代表一个表,一个属性就代表一个字段。极大的简化了我们对数据库操作的复杂度。数据库操作无外乎CRUD这一套操作,即增、查、改、删。ORM基本的增删改查:增:modes.Tb.object.create() # 增加一条数据,可以接受字典(**kwargs)类型的数据obj = mode...原创 2019-08-27 16:44:58 · 522 阅读 · 0 评论 -
使用Django的Form表单进行注册的验证
DJango作为一个无比强大的开发框架,自身所带的强大功能基本能满足我们的开发需求,今天我们就来研究一下django的Form表单。django的Form表单为我们提供了许多便利,它可以渲染模板中的表单,可以对表单中的数据进行渲染,还可以实现在刷新页面的情况下不丢失表单数据,设想你要填写10个表单,其中一个填写错误,提交之后返回给你没有数据的表单页面让你重新填写是不是脑瓜疼,Form就可以实现刷...原创 2019-08-11 22:51:47 · 624 阅读 · 0 评论 -
django中使用memcached缓存
作为一个提高网站性能,缓解数据库压力的有效途径,缓存被各大网站大量使用,也是后端程序员必备的技能点,今天就来研究一下django中memcached的使用。首先介绍一下memcached,memcached是一种非关系数据库,以key/value的形式将数据储存带内存中,相较于mysql等关系型数据库来说具有极快的读取速度,可以极大提高web的响应速度。我们一般将它和mysql等数据库配合使用,...原创 2019-08-15 10:56:56 · 1094 阅读 · 0 评论 -
django+celery使用阿里云短信服务异步发送注册验证码
网站注册时通常都会使用短信验证码,以防止机器恶意注册网站,阿里云短信服务是国内较大的短信服务平台,使用阿里云短信服务实现验证码发送也是非常的简单,相关文档:https://helpcdn.aliyun.com/document_detail/59210.html,python发送短信验证码文档:https://help.aliyun.com/document_detail/55491.html。...原创 2019-09-23 22:12:39 · 998 阅读 · 0 评论