Django
文章平均质量分 84
特仑苏纯酸奶
这个作者很懒,什么都没留下…
展开
-
rest_framework学习(七)频率组件
频率组件频率组件是为了控制用户访问的频率、节流。rest_framework运行的权限组件的时间和认证组件相同,在rest_framework学习(四)认证组件已经提到了,不再赘述。当执行了self.check_throttles(request)方法,即执行该视图函数所有的权限组件 def check_throttles(self, request): ...原创 2019-07-31 18:17:32 · 117 阅读 · 0 评论 -
rest_framework学习(六)分页器
分页器如果使用rest_framework的分页器,视图类需要继承rest_framework.generics.GenericAPIView或者它的子类。使用分页器需要在视图类中配置pagination_class,然后调用self.paginate_queryset(queryset)就能得到分页后的数据集合。 def paginate_queryset(self, que...原创 2019-07-29 19:26:52 · 410 阅读 · 0 评论 -
rest_framework学习(五)权限组件
权限组件权限组件的目的是为了控制用户权限,实现不同权限访问不同资源rest_framework运行的权限组件的时间和认证组件相同上一篇博客rest_framework学习(四)认证组件已经提到了,不再赘述。当执行了self.check_permissions(request)方法,即执行该视图函数所有的权限组件 def check_permissions(self, ...原创 2019-07-29 17:11:00 · 141 阅读 · 0 评论 -
重写django的mysql驱动实现原生sql语句查询返回字典类型数据
在使用django的时候,有些需求需要特别高的查询效率,所以需要使用原生的sql语句查询,但是查询结果一般是一个元组嵌套元组。为了处理方便,需要从数据库查询后直接返回字典类型的数据。这里使用的方法是继承django.db.backends.mysql驱动首先在django项目下创建一个mysql文件夹,然后在这个文件夹下创建base.py。base.pyfrom django.d...原创 2019-09-18 15:39:36 · 497 阅读 · 1 评论 -
rest_framework学习(四)认证组件
认证组件rest_framework的认证组件是为了判断用户有没有合法身份,一般认为没有登录或者没有授权即为不合法。rest_framework在什么时候运行认证组件说到rest_framework的认证组件,就要说到Django的CBV了。rest_framework模块的APIView类重写了CBV中的dispatch方法。 def dispatch(self, re...原创 2019-07-08 14:00:20 · 212 阅读 · 0 评论 -
django的url路由分发
Django框架的路由分发可以使用include分发到各个app如from django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), # 分发到app01下的urls.py中 由app01.urls继续分发到视图函数 # app01.urls.py要设置app...原创 2019-05-17 01:46:14 · 309 阅读 · 0 评论 -
cors跨域请求
前端使用正常的ajax请求,请求url填写需要跨域访问的url服务端在视图函数中对response设置Access-Control-Allow-Origin字段例如def service(request): info={"price":200} response=HttpResponse(json.dumps(info)) # 告诉浏览器http://127...原创 2019-05-17 01:32:50 · 228 阅读 · 0 评论 -
rest_framework学习(二)序列化类的使用
序列化方式方式一from rest_framework.views import APIViewfrom django.shortcuts import render, HttpResponseimport jsonclass PublishView(APIView): def get(self, request): publish_list = list(...原创 2019-07-02 23:02:50 · 356 阅读 · 0 评论 -
rest_framework学习(三)视图函数的介绍
视图函数方式一urls.pyfrom django.urls import path, re_pathurlpatterns = [ path('books/', BooksView.as_view(), name='Books'), re_path('^books/(?P<pk>\d+)/$', BooksDetailView.as_view(), ...原创 2019-07-03 16:41:46 · 198 阅读 · 0 评论 -
基于Django中间件的权限认证组件
用户权限认证组件包括权限model类和中间件类model类介绍Permission权限类权限基本信息包括title:权限名称 url:权限具体urlRole角色类角色类包括title:角色名称 permission:角色的权限权限和角色多对多关系用户类需要对Role类设置多对多映射Whitelist白名单类白名单包括title:权限名称 url:权限...原创 2019-05-16 16:44:03 · 1020 阅读 · 1 评论 -
rest_framework学习(一)resful规范介绍及Django的CBV介绍
一、什么是resful规范resful是一种规范,它是一种面向资源编程的规范,操作只是一种请求方式。二、规范内容1.API与用户的通信协议,总是使用HTTPs协议:https比http安全2.域名https://api.example.com 尽量将API部署在专用域名(会存在跨域问题)https://example.org/api/ API很简单例如写一个查询所有图书的a...原创 2019-05-20 16:40:49 · 455 阅读 · 0 评论 -
auth模块笔记
auth模块是django自带的一个用户验证模块settings.py文件中默认注册的中间件 django.contrib.auth.middleware.AuthenticationMiddleware 就是用来实现用户认证功能的利用auth模块实现自定义用户验证一、继承方式先在app的models写用户类,一定要继承AbstractUser类这里只写一个字段phone。因为...原创 2019-05-03 02:27:25 · 268 阅读 · 0 评论 -
中间件(django)笔记
Django框架中的中间件在settings.py文件中这里写的都是django框架用到的中间件ps:对于字符串的模块名可使用 importlib.import_module(‘模块名’)导入自定义django中间件创建MiddleWare.py文件,目录格式如图创建自定义中间件类from django.utils.deprecation import Middl...原创 2019-05-02 04:37:10 · 121 阅读 · 0 评论 -
forms组件笔记
为什么要用forms组件一般前端js代码可以对数据进行普通校验,但是js可以被绕过,例如爬虫,所以后端必须做校验,保证数据安全。前端做校验可减轻后端压力。forms特点自动生成表单html代码校验数据返回校验信息及html代码使用forms组件from django import formsclass RegForm(forms.Form): name = f...原创 2019-05-02 00:38:33 · 294 阅读 · 0 评论 -
Celery 异步任务、定时任务
celery介绍Celery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery看起来似乎很庞大,本章节我们先对其进行简单的了解,然后再去学习其他一些高级特性。 celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是:简单,易于使用和...原创 2019-04-13 01:00:42 · 456 阅读 · 0 评论 -
Django2.* 国际化
最近在项目里需要用到国际化,在网上找了很多方法,现在做个总结。Django框架天然支持国际化,只要在settions.py 文件中设置国际化相关配置就可以使用这个功能了。下面是与国际化相关的配置信息(不相关的没贴出来)# 中间件设置MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'dja...原创 2019-04-13 21:04:58 · 703 阅读 · 0 评论 -
Django的request对象属性
request对象的属性request.scheme代表请求的方案,http或者httpsrequest.path请求的路径,比如请求127.0.0.1/org/list,那这个值就是/org/listrequest.method表示请求使用的http方法,GET或者POST请求request.encoding表示提交数据的编码方式request.GET获取...原创 2019-03-18 01:03:19 · 1017 阅读 · 0 评论 -
centos7+nginx+uwsgi+django部署项目
Centos 下更新和安装必须的软件包:yum groupinstall "Development tools"yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel wget gcc make zip* openssl-de...原创 2018-11-26 15:45:25 · 442 阅读 · 0 评论 -
Django 的分页和自定义分页组件
一 自定义分页后台代码def index(req): data = list(range(999)) # 数据源 以列表示例 current_page_num = req.GET.get('p', None) # 获取当前页码 if not current_page_num: current_page_num = 1 else: ...原创 2018-11-21 22:33:49 · 201 阅读 · 0 评论