
django
姜狗框架天下第一
Hzy_han
bug不会凭空产生,也不会凭空消失,只是从一个地方转移到了另一个地方。
展开
-
django开发的性能优化
在使用django在web项目开发中避免不了会进行性能优化,最近特意总结了一些我用到过的性能优化方法。都是实际开发过程中非常有用的技巧,希望能够对大家有所帮助。1.性能分析工具cprofilefrom cProfile import Profileimport pstatsprof = Profile()prof.enable()# 运行函数run_func()prof.create_stats()p = pstats.Stats(prof)p.print_callees()运原创 2020-12-19 00:03:17 · 763 阅读 · 2 评论 -
权限管理功能实现
权限说明场景:不同的用户具有不同的权限,如只有vip用户可以享受高速下载服务,只有svip用户才可以享受极速下载服务。思路:为用户添加角色,通过为角色添加权限从而达到权限控制的目的。数据表构建代码实现model模型类:from datetime import datetimefrom django.db import modelsfrom django.contrib.auth.models import AbstractUserclass UserProfile(Abstract原创 2020-10-11 23:13:32 · 1407 阅读 · 1 评论 -
jwt方式进行登录验证
一般Web应用开发验证用户信息有两种方式,一是使用session,二是使用token。为什么要用TokenToken无需存储降低服务器成本,session是将用户信息存储在服务器中的,当用户量增大时服务器的压力也会随着增大。防御CSRF跨站伪造请求攻击,session是基于cookie进行用户识别的, cookie如果被截获,用户信息就容易泄露。扩展性强,session需要存储无法共享,当搭建了多个服务器时其他服务器无法获取到session中的验证数据用户无法验证成功。而Token可以实现服务器间原创 2020-09-21 23:42:38 · 1242 阅读 · 1 评论 -
第三方微信登录功能实现
登录流程首先到微信开放平台查看网站应用开发登录微信的api文档,梳理出第三方微信登录的流程如下:发送第三方登录请求重定向到微信认证服务器发送登录信息并校验(携带 appid,redirect_uri,status)重定向到redirect_uri,返回code发送code请求access_token校验code,返回access_token用access_token获取用户信息实现在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应原创 2020-09-20 23:47:37 · 3067 阅读 · 0 评论 -
ElasticSearch和whoosh实现项目中搜索功能
单表搜索单表搜索:实现对于特定表中的某些字段的模糊搜索匹配,这样的搜索一般是比较容易实现的。比如需要根据关键字搜索教师表中的授课教师的信息,django项目可以通过Q方法和contains来实现。# 根据搜索词search_data查询结果Teacher.objects.filter(Q(name__contains=search_data) | Q(course__contains=search_data))全局搜索全局搜索的实现主要提供如下两种方式...原创 2020-08-27 23:59:01 · 1511 阅读 · 1 评论 -
uwsgi+nginx在服务器上部署django项目
环境配置此项目部署采用uwsgi+nginx+djagno,首先先确保python、mysql、redis、nginx等都已在服务器安装完毕,具体安装步骤就不再详细说明。安装虚拟环境pip install virtualenv新建虚拟环境mkvirtualenv xxx进入虚拟环境workon xxx然后将requirements.txt文件上传到服务器之后运行:pip install -r requirements.txt # 安装依赖包安装uwsgipi原创 2020-07-12 21:41:43 · 358 阅读 · 2 评论 -
AttributeError: 'AutoSchema' object has no attribute 'get_link'
AttributeError: ‘AutoSchema’ object has no attribute ‘get_link’restframework版本在3.10以上的需要指定默认schema.所以需要在settings.py中添加如下代码REST_FRAMEWORK = { 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.cor...原创 2020-02-03 10:45:00 · 688 阅读 · 0 评论 -
drf中的各种view,viewset详解
drf中的各种view,viewsetDjango REST framework里有各种各样的view,其中的继承关系需要梳理,得好好捋一捋这关系。视图的作用Django用“视图”这个概念封装处理用户请求并返回响应的逻辑。视图是一个可调用对象,它不仅可以是基于函数,也可以是基于类的。相比较与函数,基于类的视图有一些区别和优势:组织与特定HTTP方法相关的代码(GET,POST等) ...原创 2020-02-01 16:00:21 · 2199 阅读 · 0 评论 -
model中联合唯一unique_together
作用在Django model中会对一张表的几个字段进行联合约束和联合索引,例如在购物车表中,登录的用户和商品两个字段在一起表示唯一记录。用法建立联合约束:unique_together = ("user", "goods")建立联合索引:index_together = ("user", "goods")联合约束和联合索引的作用联合约束作用:意思为在这个表中,每一行的us...原创 2019-11-08 22:17:45 · 3114 阅读 · 0 评论 -
在django使用redis
1.进行redis的安装在linux中进行redis的安装:sudo apt-get install redis-serversudo apt-get install redis-cli安装redis库pip install redis2.进行redis的相关配置在settings中进行redis配置REDIS_HOST = "127.0.0.1"REDIS_PORT = 6...原创 2019-11-04 14:31:55 · 198 阅读 · 0 评论 -
django中模型models中常用字段和参数总结
models常用字段AutoField如果没有指明主键,就会产生一个自增的主键。BigIntegerField64位的整型数值,从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807)。BinaryField存储原始二进制数据,仅支持字节分配。功能有限。BooleanField布尔型和NullBooleanFie...原创 2019-10-31 23:46:30 · 1412 阅读 · 0 评论 -
pycharm中设置run manage.py Task,省去python manage.py的配置
在pycharm中使用django命令的过程中经常会用到python manage.py相关的命令,每次都输入python manage.py会比较麻烦,可以利用pycharm提供的tools来省去python manage.py的重复输入。具体实现过程如下:先进入settings完成如下操作随后可勾选Tools中的Run manage.py Task完成后即可以直接输入manag...原创 2019-10-31 11:58:38 · 4549 阅读 · 2 评论 -
Django中User表单的is_active的验证无效的解决方法
原文链接:https://blog.youkuaiyun.com/qq_39202382/article/details/88824786Django在使用默认的认证系统进行登录校验的时候authenticate函数会连同数据库里面的is_active一起验证,这样的我们这么写的代码就会有问题if user.is_active:段代码任何情况下都不会被执行,不会检测用户的活跃状态解决方法在 sett...原创 2019-10-17 16:36:52 · 2488 阅读 · 2 评论 -
Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
启动django应用时报如下错误出现该错误的原因是django默认的8000端口已经被占用,需要找到这个进程并且终止。windows下可以执行如下操作:运行cmdnetstat -ano|findstr 8000 找出占用8000端口的应用tasklist |findstr 11568 查询出占用端口的应用taskkill /pid 11568 /F 根据pid杀...原创 2019-10-18 14:07:08 · 1374 阅读 · 2 评论