django
s_daqing
这个作者很懒,什么都没留下…
展开
-
django中限流器使用
#!/usr/bin/env python# -*- coding: utf-8 -*-"""__title__ = ''__author__ = ''__mtime__ = ''"""import loggingimport timefrom rest_framework.throttling import SimpleRateThrottlelogger = logging.getLogger('mylogger')class VisitThrottleMixin(obje.原创 2021-02-21 14:50:59 · 253 阅读 · 0 评论 -
python后端向前端返回下载文件的文件名中文的问题
Python3from urllib.parse import quote...response['Content-Disposition'] = 'attachment; filename={0}.xlsx'.format(quote(filename))Python2from urllib import quote...# 向下兼容 Python2.6 以前的格式化字符串response['Content-Disposition'] = 'attachment; filename=%s原创 2021-02-10 22:56:23 · 747 阅读 · 0 评论 -
djang中的restframework的自关联递归循环嵌套的系列化器使用
安装:djangorestframework-recursivepip install djangorestframework-recursive模型class Department(models.Model): parent = models.ForeignKey(to='self', null=True, blank=True, related_name="children", on_delete=models.CASCADE,原创 2021-02-10 22:54:33 · 722 阅读 · 0 评论 -
django前后端分离前端nginx配置
user root;worker_processes auto;#worker_rlimit_nofile 65535;worker_rlimit_nofile 1024;error_log /etc/nginx/logs/error.log error;events { accept_mutex on; multi_accept on; use epoll; #worker_connections 65535; worker_conne.原创 2021-01-17 20:54:26 · 381 阅读 · 0 评论 -
django中配置log
import osDEBUG = False #线上环境时要关闭debugALLOWED_HOSTS = ['*'] #线上环境时要允许所有ip访问,或有自己的规则LOG_DIR = ""#下面就是logging的配置LOGGING = { 'version': 1, # 指明dictConnfig的版本,目前就只有一个版本,保留字 'disable_existing_loggers': False, # 表示是否禁用所有的已经存在的日志配置 # 日志文件的原创 2020-10-19 22:00:46 · 337 阅读 · 0 评论 -
django启动脚本
#!/bin/bash# uwsgi的pid文件路径uwsgi_pid_path="./uwsgi.pid"# 如果uwsgi.pid文件不存在,则不作处理if [ ! -f "$uwsgi_pid_path" ]then echo "uwsgi.pid is not found, first start"# 如果uwsgi.pid文件存在,则查询进程状态else # 获取uwsgi服务pid号 uwsgi_pid=`cat ${uwsgi_pid_path}`原创 2020-09-28 21:36:49 · 411 阅读 · 0 评论 -
django中自定义限流
#!/usr/bin/env python# -*- coding: utf-8 -*-"""__title__ = ''__author__ = 'sWX5327615'__mtime__ = '2020/8/4'"""import loggingimport timefrom rest_framework.throttling import SimpleRateThrottlelogger = logging.getLogger('mylogger')class VisitTh原创 2020-09-21 21:12:30 · 533 阅读 · 0 评论 -
django中批量下载
https://www.cnblogs.com/julygift/p/9224574.html转载 2020-09-06 16:09:55 · 838 阅读 · 0 评论 -
django后端给前端返回下载文件
组织响应from django.http import StreamingHttpResponsedef read_file(file_name, chunk_size=512): with open(file_name, "rb") as f: while True: c = f.read(chunk_size) if c: yield c else:原创 2020-07-27 23:41:15 · 8949 阅读 · 0 评论 -
django分页使用
def my_paginator(objs, page, page_size): """ 返回分页数据列表 :param objs: 查询数据集合,可以是对象列表,也可以是列表 :param page: 查询的页数 :param page_size: 每页的数量 :return: """ paginator = Paginator(objs, page_size) try: contacts = paginator.pa原创 2020-07-27 23:23:37 · 100 阅读 · 0 评论 -
django模型使用操作
数据库操作—增、删、改、查一、 增加增加数据有两种方法。1)save通过创建模型类对象,执行对象的save()方法保存到数据库中。>>> from datetime import date>>> book = BookInfo( btitle='西游记', bput_date=date(1988,1,1), bread=10, bcomment=10)>>> book.save()>>>原创 2020-06-16 23:47:26 · 392 阅读 · 0 评论 -
Django之restframework其他功能
一、认证Authentication可以在配置文件中配置全局默认的认证方案REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', # 基本认证 'rest_framework.authentication.SessionAuthentication', # session认证 )}也可以原创 2020-06-10 22:28:22 · 163 阅读 · 0 评论 -
Django之restframework中路由Routers
对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。REST framework提供了两个routerSimpleRouterDefaultRouter1. 使用方法1) 创建router对象,并注册视图集,例如from rest_framework import routersrouter = routers.SimpleRouter()router.register(r'books原创 2020-06-10 21:37:55 · 1146 阅读 · 1 评论 -
Django定时任务
在Django执行定时任务,可以通过django-crontab扩展来实现。安装依赖库pip install django-crontab添加应用settings.py中注册appINSTALLED_APPS = [ ... 'django_crontab', # 定时任务 ...]设置任务的定时时间在配置文件中设置定时执行的时间每个定时任务分为三部分定义:任务时间基本格式 :* * * * *分 时 日 月 周 命令M: 分钟(0-5原创 2020-06-05 21:27:50 · 153 阅读 · 0 评论 -
Django中使用FastDFS客户端与自定义文件存储系统
1. FastDFS的Python客户端python版本的FastDFS客户端使用说明参考https://github.com/jefforeilly/fdfs_client-py安装安装提供给大家的fdfs_client-py-master.zip到虚拟环境中pip install fdfs_client-py-master.zippip install mutagenpip isntall requests使用使用FastDFS客户端,需要有配置文件。client.conf配置文件。原创 2020-06-05 21:16:25 · 367 阅读 · 0 评论 -
Django之restframework的过滤Filtering
对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。pip install django-filter在配置文件中增加过滤后端的设置:INSTALLED_APPS = [ ... 'django_filters', # 需要注册应用,]REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBacken原创 2020-06-05 00:54:55 · 197 阅读 · 0 评论 -
Django之restframework权限Permissions
权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。在执行视图的dispatch()方法前,会先进行视图访问权限的判断在通过get_object()获取具体对象时,会进行对象访问权限的判断使用可以在配置文件中设置默认的权限管理类,如REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', )}如果未指明,则采用如下默认原创 2020-06-05 00:52:23 · 889 阅读 · 0 评论 -
Django之restframework的异常处理 Exceptions
REST framework提供了异常处理,我们可以自定义异常处理函数。from rest_framework.views import exception_handlerdef custom_exception_handler(exc, context): # 先调用REST framework默认的异常处理方法获得标准错误响应对象 response = exception_handler(exc, context) # 在此处补充自定义的异常处理 if respo原创 2020-06-05 00:49:08 · 1620 阅读 · 0 评论 -
Django之restframework的路由Routers
对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。REST framework提供了两个routerSimpleRouterDefaultRouter1. 使用方法1) 创建router对象,并注册视图集,例如from rest_framework import routersrouter = routers.SimpleRouter()router.register(r'books', Boo原创 2020-06-05 00:40:38 · 364 阅读 · 0 评论 -
Django之restframework的视图集ViewSet
使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中:list() 提供一组数据retrieve() 提供单个数据create() 创建数据update() 保存数据destory() 删除数据ViewSet视图集类不再实现get()、post()等方法,而是实现动作 action 如 list() 、create() 等。视图集只在使用as_view()方法的时候,才会将action动作与具体请求方式对应上。如:class BookInfoViewSet(viewsets.Vi原创 2020-06-05 00:33:44 · 364 阅读 · 0 评论 -
Django之restframework视图说明
1. 两个基类1)APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。APIView与View的不同之处在于:传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象;视图方法可以返回REST framework的Response对象,视图会为响应数据设置(render)符合前端要求的格式;任何APIExceptio原创 2020-06-05 00:27:32 · 186 阅读 · 0 评论 -
Serializer序列化器
序列化器的作用:进行数据的校验对数据对象进行转换一.定义Serializer1. 定义方法Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。例如,我们已有了一个数据库模型类BookInfoclass BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name='名称')原创 2020-06-05 00:13:02 · 615 阅读 · 0 评论 -
Django的session操作使用
配置在这里:https://blog.csdn.net/s_daqing/article/details/100134360操作:通过HttpRequest对象的session属性进行会话的读写操作1) 以键值对的格式写session。request.session['键']=值2)根据键读取值。request.session.get('键',默认值)3)清除所有session,在存储中删除值部分。request.session.clear()4)清除session数据,在存储中删除s原创 2020-05-28 23:48:52 · 354 阅读 · 0 评论 -
Django REST framework JWT
!!! <div class="page-wrapper" tabindex="-1" role="main"> <div class="page-inner"> <section class="normal" id="section-">原创 2020-05-28 23:38:33 · 243 阅读 · 0 评论 -
django使用Nginx和uwsgi部署
1. 静态文件Django运行在生产模式时,将不再提供静态文件的支持,需要将静态文件交给静态文件服务器。我们先收集所有静态文件。项目中的静态文件除了我们使用的front_end_pc中之外,django本身还有自己的静态文件,如rest_framework、xadmin、admin、ckeditor等。我们需要收集这些静态文件,集中一起放到静态文件服务器中。我们要将收集的静态文件放到fron...原创 2019-10-14 10:47:50 · 164 阅读 · 0 评论 -
django使用REST framework自动生成接口文档
REST framework可以自动帮助我们生成接口文档接口文档以网页的方式呈现自动接口文档能生成的是继承自APIView及其子类的视图。1. 安装依赖REST framewrok生成接口文档需要coreapi库的支持pip install coreapi2.设置接口文档访问路径在总路由中添加接口文档路径。# 参数title为接口文档网站的标题from rest_framewor...原创 2019-09-02 09:39:28 · 1618 阅读 · 2 评论 -
django自定义异常处理
REST framework提供了异常处理,我们可以自定义异常处理函数。from rest_framework.views import exception_handlerdef custom_exception_handler(exc, context): # 先调用REST framework默认的异常处理方法获得标准错误响应对象 response = exception...原创 2019-08-30 16:33:45 · 2232 阅读 · 0 评论 -
restframework视图概览
REST framework 提供了众多的通用视图基类与扩展类、扩展类子类,以简化视图的编写。其中2个基类,5个扩展类,9个扩展类子类。视图的方法与属性:...原创 2019-08-30 14:03:23 · 158 阅读 · 0 评论 -
django的setting.py文件配置
import os# Build paths inside the project like this: os.path.join(BASE_DIR, ...)BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# Quick-start development settings - unsuita...原创 2019-08-29 11:29:29 · 430 阅读 · 0 评论 -
django可选分页器
1. PageNumberPagination前端访问网址形式:GET http://api.example.org/books/?page=4可以在子类中定义的属性:page_size 每页数目page_query_param 前端发送的页数关键字名,默认为"page"page_size_query_param 前端发送的每页数目关键字名,默认为Nonemax_page_si...原创 2019-08-30 16:27:37 · 159 阅读 · 0 评论