
Python框架
zhangliang_852469
记录平时学习的内容
展开
-
pytho算法之 冒泡排序
仅供自己学习使用"""python 算法: 冒泡排序, 两两比较, 小的排前面,大的排后面"""def bubble_sort(li): # [2,5,1,4,9] --> 长度为5 for i in range(len(li) - 1): # (0, 4) 当i = 0 当i=1 for j in range(len(li) - i - 1): # (0, 4) j = 0 (0,3) if li[j] > li原创 2021-09-10 16:43:53 · 157 阅读 · 0 评论 -
django 或drf 使用elasticsearch 实现搜索功能
drf 接口实现:https://blog.youkuaiyun.com/qq_31065041/article/details/104592558django中实现:https://blog.youkuaiyun.com/makesomethings/article/details/100061591原创 2021-04-21 17:07:24 · 2449 阅读 · 0 评论 -
Django中利用xlwt将Model中的数据写入excel表格
纯抄袭,做个人记录,用的时候方便取。地址:https://www.iloxp.com/archive/6/转载 2020-09-28 15:29:18 · 531 阅读 · 2 评论 -
Django利用xlrd将excel表格数据导入到model数据库中
纯抄袭记录来源:https://www.iloxp.com/archive/2397/转载 2020-09-28 15:28:01 · 581 阅读 · 0 评论 -
Django内置的组件:content-type
django内置的组件,帮我们开发者做连表操作, 使用于一张表跟多张表关联。使用:ContentType 用于关联表的名称GenericForeignKey 帮助快速实现content_type操作,将之对应起来GenericRelation 用于反向查找 不生成数据表from django.db import modelsfrom django.contrib.contenttypes.fields import GenericForeignKey, GenericRelationfro原创 2020-08-24 17:30:13 · 280 阅读 · 0 评论 -
django-rest 版本,解析器,序列化, 分页版本,路由、渲染
序列化, 分页,路由,视图,渲染器,版本,解析器,一、版本1.自定义get传参:通过get方式传参拿到版本,通过自定义一个类, 然后重写determine_version方法来实现,然后在视图中配置。class ParamVersion(object): def determine_version(self, request, *args, **kwargs): # version = request._request.GET.get('version') v原创 2020-08-21 08:18:19 · 271 阅读 · 0 评论 -
django-rest访问频率
使用目的:为了限制用户(登录/未登录)的访问频率,不让用户频繁的访问网站或网站的某个视图,即节流。# 节流(控制访问频率)from rest_framework.throttling import BaseThrottleclass VisitThrottle(object): """节流""" def allow_request(self,request, view): return True # Flase 表示访问频率太高,被限制 def wait(sel原创 2020-08-20 15:04:06 · 141 阅读 · 0 评论 -
django-rest 权限
权限:为不同的用户赋予访问不用的视图一、.django中restframwork的权限基本使用:定义一个权限类,在其中实现has_permission方法, 然后在视图函数中配置就行# 权限类class Mypermission(object): def has_permission(self,request, view): pass# 使用:permission_classes =[权限1,权限2,]class UserInfoView(APIView): """原创 2020-08-20 10:52:59 · 253 阅读 · 0 评论 -
django-rest 认证
一、基于djang-restframwork 单视图认证第一步:.定义一个类,重写认证方法from rest_framework import exceptions # 这个是处理认证失败的# from rest_framework.authentication import BaseAuthenticationclass Authentication(object): # token认证 def authenticate(self, request): token=re原创 2020-08-19 17:49:35 · 290 阅读 · 0 评论 -
django 自带用户认证系统 以及 自定义用户认证系统
Django自带用户认证系统,这个系统支持访问控制、注册用户、关联创建者和内容等;在开发用户认证功能时的时候,可以使用django中的django.contrib.auth 中封裝了注册、认证,登录登出方法,可以直接使用;相关表在使用"python manage.py makemigrations“和”python manage.py migrate"迁移完成数据库之后根据配置文件settings.py中的数据库段生成的数据表中已经包含了6张进行认证的数据表,分别是:auth_userauth_gr转载 2020-08-11 10:11:53 · 2334 阅读 · 0 评论 -
初识scrapy框架的介绍和命令行使用
一、介绍Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy 是基于twisted框架开发而来,twisted是一个流行的事件驱动的python网络框架。因此Scrapy使用了一种非阻塞(又原创 2020-06-30 17:27:56 · 247 阅读 · 0 评论 -
JSONP——跨域请求(python)
一般来说,浏览器请求数据是遵循的同源请求策略,即前后端请求需要在同一个ip和端口才能允许获取数据,为了解决这个问题,利用前端的SCRIPT标签属性来解决。方式一:<srcript>$(".send_ajax").click(function(){ //封装一个kuayu_request方法,可以用来复用跨域函数 kuayu_request("https://www.baidu.com/send_ajax")});// 跨域函数function kuayu_request(url原创 2020-06-22 14:21:00 · 345 阅读 · 0 评论 -
Django中富文本编辑器KindEditor的使用和图片上传
1.简介KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用2.主要特点快速:体积小,加载速度快开源:开放源代码,高水平,高品质底层:内置自定义 DOM转载 2020-06-01 17:40:13 · 453 阅读 · 0 评论 -
【博客】前端添加富文本编辑器(django)
这里使用的是开源的kindeditor来作为富文本编辑器。下载地址:http://kindeditor.net/down.php然后将下载的文件放在static文件下, 可以去掉无用的文件。配置操作如下:在django的settings.py 文件中加上媒体和静态文件的配置。settings.py# 静态文件STATIC_URL = '/static/'STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static"),]#用户上传的媒体文原创 2020-05-20 11:22:26 · 974 阅读 · 0 评论 -
django+递归+ajax+python字典的可变数据类型的特点。 构建评论树
简述:使用python字典的特性:可变数据类型,将数据库中的数据查询出来,将之转换成为一个字典,然后构建出有数据层级的一个列表,返回给前端。前端通过递归函数(自己调用自己)的方式将数据取出,在前端渲染出来,形成评论树的样式。1.设计数据库: 评论表中利用评论的特点(利用父评论没有外键的关系,而子评论有外键父评论)有无父评论来区别该条评论是子评论还是父评论。class Comment(models.Model): """ 评论表 """ nid = models.AutoF原创 2020-08-25 09:20:11 · 142 阅读 · 0 评论 -
django,使用forms验证,后前端样式处理
forms表单中本身渲染的标签是不带样式的,在django的forms中提供了一个widgets的方法可以让我们将前端原本的属性值给附上,从而能够渲染出样式。from django import formsfrom django.forms import widgets # 导入这个模块class RegForm(forms.Form): user=forms.CharField(min_length=5,max_length=12, e原创 2020-08-25 09:22:32 · 145 阅读 · 0 评论 -
django的auth模块
用户认证auth模块--------------auth.user表auth模块API:user=request.user: if 用户登录状态: user就是登录对象,否则就是一个匿名对象 验证方法: auth.authenticate(username=user,password=pwd)插入session记录:auth.login(request,user) # request.session["user"]=user.username删除session记录:原创 2020-05-14 10:26:50 · 134 阅读 · 0 评论 -
django-随机生成验证码,视图函数
from django.shortcuts import render,HttpResponse# Create your views here.from django.contrib import authfrom django.http import JsonResponsedef get_valid_img(request): # 需要用到的模块 from PIL import Image,ImageDraw,ImageFont import random fr原创 2020-08-25 09:25:04 · 219 阅读 · 0 评论 -
django+ngix+uwsgi配置多个站点多个域名
https://www.cnblogs.com/pythonClub/p/9827225.html转载 2020-05-13 10:25:29 · 314 阅读 · 0 评论 -
django-分页:Paginator
py代码:from django.shortcuts import render,HttpResponse,redirect# Create your views here.from .models import *from django.core.paginator import Paginator,EmptyPage, PageNotAnIntegerdef index(request): ''' 批量导入数据: for i in range(1原创 2020-05-12 17:19:10 · 135 阅读 · 0 评论 -
django中 orm的那些事儿。
django中orm是属于惰性查询, 也就是说只有在使用了查询结果的地方, django的orm才会真正去数据库执行对应的sql语句。如何优化查询: 一般来说我们在查询sql的内容的时候,为了考虑服务器的内存,一般都不查询出很大一部分的数据,只能少量的查询, 所以可以利用python中生成器的特性, 将orm的查询集转换成为生成器。使用.iterator()如果只是单单的查询该条过滤内容是否有数据,可以使用.exists(), 就不需要拿出多条数据进行判断。中介模型另外,一般来说,多对多的方法原创 2020-05-12 10:30:43 · 299 阅读 · 0 评论 -
django的form表单认证
一、钩子的使用,钩子能够根据实际需求来实现校验。form的局部钩子方法: 定义局部钩 clean_%s(self): 的方式重写,不通过则抛出ValidationError()的异常如:单独验证用户字段form的全局钩子方法: def clean(self):的方式重写。如:验证两次密码是否一致。二、form表单验证 is_vaild():form模块中的验证只有在使用 is_vaild(): 进行判断的时候才真正走form验证方法。三、在form表单中, 将数据传给实例化的form原创 2020-05-12 10:18:39 · 219 阅读 · 0 评论 -
ajax 文件上传
1.ajax文件上传2. 跨域的三种方式3. django的认证5. http的状态5.form表单的文件上传 修改数据发送方式6.F与Q查询原创 2020-05-09 17:18:35 · 114 阅读 · 0 评论 -
Django部署HTTPS
原文地址:https://blogof33.com/post/10/转载 2020-05-09 16:30:07 · 272 阅读 · 1 评论 -
django中的orm(models)
http://djangobook.py3k.cn/2.0/原创 2020-08-25 09:25:54 · 200 阅读 · 0 评论 -
django-url中的内容
URL 中的分发:# 导入indlude模块,把url的详细路径配置到单个应用中from django.conf.urls import url, includeurlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'^web/', include('web.urls'),)]...原创 2020-08-25 09:26:20 · 124 阅读 · 0 评论 -
django中的分页、跳转、session、csrf、中间件
1.分页:- 一、自定义实现:自定义一个分页功能 - 后端代码 """分页组件使用示例: obj = Pagination(request.GET.get('page',1),len(USER_LIST),request.path_info) page_user_list = USER_LIST[obj.start:obj.end] page_html ...原创 2020-08-25 09:19:18 · 208 阅读 · 0 评论 -
Django过滤器truncateword和slice的区别
truncateword用法:表示显示变量content中前15个字符,适用于英文内容{{content|truncatewords:"15"}}slice用法:表示显示变量content中的15个字符,使用于中文内容{{content|slice:"15"}}...原创 2019-08-08 14:55:02 · 463 阅读 · 0 评论 -
Django REST framework 中文文档
地址:http://www.iamnancy.top/djangorestframework/REST-Hypermedia-HATEOAS/转载 2019-07-08 15:22:44 · 352 阅读 · 0 评论 -
centos7 安装 python3.6
提前安装好系统依赖包: centos: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel libffi-devel python-devel mariadb-develubuntu: sudo ...转载 2019-07-02 15:19:01 · 300 阅读 · 0 评论 -
设置drf的跨域问题 django-cors-headers
github 上有详细介绍:https://github.com/ottoyiu/django-cors-headers1、pip install django-cors-headers # 下载2、添加进appsINSTALLED_APPS = [ ... 'corsheaders', ...]3、 配置 尽量放在csrf之前MIDDLEWARE = [...原创 2019-06-17 16:13:24 · 354 阅读 · 0 评论 -
drf中迷糊搜索使用 search_fields,OrderingFilter
这里使用的是 rest_framework 中的filter 而不是django-filter。from rest_framework import filters # 模糊查询class GoodsListDetailViewSet(viewsets.ReadOnlyModelViewSet): """商品列表页, 详细页""" queryset = Goods.obj...原创 2019-06-17 09:41:01 · 4052 阅读 · 0 评论 -
DRF实现发送短信验证码接口
原文地址:https://www.cnblogs.com/mxsf/p/10665388.html转载 2019-06-20 10:43:00 · 509 阅读 · 0 评论 -
drf中使用jwt重写手机验证方法
自定义用户设置认证,因为jwt默认是用用户名验证请求到后端的,而往往很多注册是通过手机号来进行验证登录的, 需要重写认证方式。1、在settings文件中加入AUTHENTICATION_BACKENDS 的配置。AUTHENTICATION_BACKENDS = ( 'users.views.CustomBackend',)2、在users模块中的views文件中编写一个类。自...原创 2019-06-20 09:33:16 · 481 阅读 · 0 评论 -
django-filter自定义搜索区间
参考官方文档:将价格自定义成为区间查找1、filter文件如下:2、views文件写法:3、3、效果如下:详细代码:filters.pyfrom django_filters import rest_frameworkfrom .models import Goodsclass GoodsFilter(rest_framework.FilterSet): mi...原创 2019-06-14 17:00:50 · 1524 阅读 · 3 评论 -
drf中使用django-filter实现过滤
首先下载django-filter : pip install django-filter然后在views.py 文件中导入from django_filters.rest_framework import DjangoFilterBackend # 过滤class GoodsListDetailViewSet(viewsets.ReadOnlyModelViewSet): """...原创 2019-06-14 16:26:29 · 2349 阅读 · 0 评论 -
使用drf中viewset的各种组合实现通用的viewset视图
viewsets中所有veiwsets所有的类如下图, 使用他们直接完成各种视图1、实现列表和详细视图直接可以通过继承 viewsets.ReadOnlyModelViewSet来实现,from rest_framework import viewsetsclass GoodsListDetailViewSet(viewsets.ReadOnlyModelViewSet): ""...原创 2019-06-14 15:07:44 · 912 阅读 · 0 评论 -
使用JWT 实现用户认证
使用JWT:1、github下载:https://github.com/GetBlimp/django-rest-framework-jwt2、支持:Python (2.7, 3.3, 3.4, 3.5, 3.6)Django (1.8, 1.9, 1.10, 1.11)Django REST Framework (3.1, 3.2, 3.3, 3.4, 3.5, 3.6)3、安装: ...原创 2019-06-19 11:17:19 · 174 阅读 · 0 评论 -
JWT 认证之前后端分离
浏览器本身是无状态的请求。所以如何验证用户的权限呢? 传统的验证方式是将之保存在数据库中,这就问题很多,xss漏洞导致用户的token的用户泄露,用户信息就不再安全。及时加入了验证过期, 但是还有有一段时间还是会导致这个问题, 只是时间短一些,而且如果用户量过大,会加深服务器的存储压力和开销。所以用JWT 会避免这个问题。当然JWT 会对SEO 不友好。JWT(JSON Web Token)分为...原创 2019-06-19 10:58:55 · 177 阅读 · 0 评论 -
djangorestframework中viewsets和 router完成视图与路由
使用viewset跟mixin结合自己所需要的方法来继承这里以显示列表为例: 所以就要继承mixin的列表mixin 和viewset结合1、先导入需要用到的包from rest_framework.pagination import PageNumberPagination # 自定义分页from rest_framework import mixinsfrom rest_frame...原创 2019-06-14 14:26:01 · 484 阅读 · 0 评论