Django
IVever_KB
这个作者很懒,什么都没留下…
展开
-
【视频播放】因视频过大产生卡顿
本文章旨在记录解决网页播放较大视频文件这一问题中积累到的知识点。原创 2023-01-06 16:46:54 · 2813 阅读 · 0 评论 -
【Http】大文件传输 | 与tcp的关系
一个TCP链接可以对应多个HTTP请求,只要这个TCP链接没有断开,就可以发送HTTP请求。原创 2022-08-30 11:42:34 · 486 阅读 · 0 评论 -
【Django】分页Pagination | DRF的分页
Django自带的Pagination个人觉得就挺好用的,可以直接参考官网文档,Pagination,个人觉得非常清晰明了了至于DRF的分页,好像需要遵循它的一些规则才能用,我就没用。但查找中的学习材料记录一下:Django-drf-内置分页器的使用:其中Ⅴ 继承APIView的分页方式比较适用于我DRF的分页如果用DRF的方法,又想获取到Django自带的Pagination实例中的一些参数,假设DRF PageNumberPagination的实例时p_obj,p_obj.page.pagina原创 2021-08-17 14:57:18 · 274 阅读 · 0 评论 -
【Django】restframework下的orm查询思考
一、QuerySet延迟加载行为这次写项目有在考虑如果数据库数据过多,返回的list列表应该如何,总不能数据库有几条返回几条吧。同时需要实现一个根据所给条件筛选的功能,就会思考在这过程中,querySet被用来用去会不会很重。得到解答(django 数据库查询—如何获取指定范围的数据):QuerySet是延迟加载只在使用的时候才会去访问数据库,如下:>>> q = Entry.objects.filter(headline__startswith=”What”)>>原创 2021-08-16 17:39:40 · 315 阅读 · 0 评论 -
【Django】ORM | 数据库 | filter中Q的使用
关于Django中数据库的查询接口,一般情况下我都会查看菜鸟教程的这个,比较全面,但是仅限于基础操作:Django ORM - 单表实例但有些更高阶/复杂的操作就需要自己平时积累或者上网找了。objects.filter()...原创 2021-08-03 16:46:51 · 486 阅读 · 0 评论 -
【DRF】serializer序列化外键显示 | 设置DatetimeField格式
DRF框架serializer之主从表字段数据关联原创 2021-05-12 16:10:39 · 933 阅读 · 0 评论 -
【Django】清除数据库 | 解决Django makemigrations时的NodeNotFoundError
因为更改了一些数据库模型,涉及到ForeignKey以及级联删除的问题,不想麻烦了想直接清空数据库从头建库。删库之前可以使用py manage.py dumpdata导出数据库中所有数据,之后再用loadata加载数据。问题出现直接把整个数据库删了,把每个app下的migrations文件夹下文件全部删除,只保留__init__.py然后进行makemigrations操作,报错django.db.migrations.exceptions.NodeNotFoundError: Migration原创 2021-05-11 12:52:00 · 1081 阅读 · 0 评论 -
【Django】session和token区别 | DRF token
有关 Session 的那些事儿,希望我这篇冗长的内容能讲清楚:较详细的解释了Session是什么,稍微提到一点Session和Token,JWT的关系/区别Session的状态是存储在服务器端,客户端只有session id;而Token的状态是存储在客户端...原创 2021-04-26 18:01:53 · 236 阅读 · 0 评论 -
【Django】静态文件
说说对静态文件的理解:在服务器有指定路径存放静态文件,程序中有规定静态文件的访问地址。用户通过规定的url(程序规定的前缀+路径+文件名)可以直接访问到该静态文件,并不需要再写接口。py manage.py findstatic --verbosity 2 test.png:通过该条指令,可以知道程序在哪里找到该静态文件,以及它会在那些路径下寻找静态文件...原创 2021-04-13 16:01:02 · 79 阅读 · 0 评论 -
【rest_framework】自定义异常处理 | 自定义返回异常
Restful API 中的错误处理python Django自定义错误处理机制【附代码】restframework 异常处理及自定义异常(相当于下面文档的中文版)rst官方文档:Custom exception handling原创 2021-04-07 17:25:12 · 483 阅读 · 0 评论 -
【rest framework】待学
可不可以控制某一字段的输出方式原创 2021-02-23 10:46:12 · 70 阅读 · 0 评论 -
【Django】python时区 | postgresql时间时区问题
概念naive time:不带时区的时间,如2015-05-11 09:10:33.080451,使用datetime.datetime.utcnow()、datetime.datetime.now()等输出的active time:带时区的时间,如2015-05-11 09:05:19.936835+00:00,django.util.timezone.now()等输出的UTC时间:第一,表示的是格林尼治平均时,即零区时间。而北京时间表示的是东八区时间,即UTC+8。第二,当我们说获取的是UTC时原创 2021-02-23 10:37:20 · 703 阅读 · 0 评论 -
【Django】Nginx, WSGI, Django之间的关系
主要参考如何理解Nginx, WSGI, Flask之间的关系概要当客户端发送一个 HTTP 请求到 Django进行处理时,分别经过了 web服务器层,协议层,web框架层,这三个层次。不同的层次其作用也不同,下面简要介绍各层的作用。1、web服务器层服务器层实体:Nginx,Apache,IIS服务器层的作用:从客户端接收请求,处理请求(也就是将请求经由接口层传递给web框架层,再接受它们处理好的请求),再向客户端返回响应2、接口层接口层实体:WSGI(Web Server Gateway原创 2021-02-19 10:04:40 · 298 阅读 · 0 评论 -
【Django】Celery在Django中的使用+Docker中的部署
官方文档在Docker容器中配置和运行Django + Celerydocker-compose部署django+nginx+uwsgi+celery+redis+mysql概要Celery(芹菜队列)是一个分布式任务队列(消息队列服务),用于需要后台执行的异步任务,异步任务简单的理解就是耗时的操作任务celery的应用情景:关于 celery 的应用场景问题充当异步任务队列:当请求的任务需要花费一定时间才能完成时,如发送邮件,短信验证码,文件读写。但这个意思并不是花费时间的一定适合用cele原创 2021-02-03 18:06:03 · 1249 阅读 · 1 评论 -
【Django】打包项目上传至pypi,并使用pip下载
官方文档:描述python项目如何打包,建议通读因为Django项目不同于一般的python包,要在与manage.py同级目录下新建__init__.py文件,不然setuptools并不会将项目中的文件打包。(猜测setuptools有自己的识别文件是否需要打包的方式,没有__init__.py它就不觉得这是需要打包的文件,就不会对它打包。所以它也不会进一步进其他目录看看是否有.py文件)为了打包的整个流程要下载的包:python -m pip install --user --upgrade s原创 2021-01-29 18:00:19 · 459 阅读 · 0 评论 -
【Django】runserver 0.0.0.0:8000什么意思?
以下一段话摘自【Django】runserver 0.0.0.0:0 后,究竟发生了什么runserver 0.0.0.0:8000runserver 0.0.0.0:8000表示将django进程使用的socket绑定ip设置为INADDR_ANY(0),因此socket会在8000端口监听从本机所有网卡发来的数据,相当于绑定了本机的所有ip地址。比如你的机器有三个ip192.168.1.1202.202.202.20261.1.2.3使用runserver 0.0.0.0:8000启动原创 2021-01-29 16:31:57 · 3097 阅读 · 0 评论 -
【Django】中间件
以下内容整理自菜鸟教程Django 中间件是修改 Django request 或者 response 对象的钩子,可以理解为是介于 HttpRequest 与 HttpResponse 处理之间的一道处理过程。浏览器从请求到响应的过程中,Django 需要通过很多中间件来处理,可以看如下图所示:Django 中间件作用:修改请求,即传送到 view 中的 HttpRequest 对象。修改响应,即 view 返回的 HttpResponse 对象。自定义中间件中间件可以定义四个方法,分原创 2020-12-10 17:47:19 · 254 阅读 · 0 评论 -
【Django】用户认证 Auth cookie session
Auth模块CookiesCookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息。一个 Web 服务器可以分配一个唯一的 session 会话 ID 作为每个 Web 客户端的 cookie,对于客户端的后续请求可以使用接收到的 cookie 来识别。设置 cookie:rep.set_cookie(key,value,...) rep.set_signed_cookie(key,value,salt='加密盐',...)#例子:用户登录验证完后,返回responserep原创 2020-12-10 15:25:14 · 520 阅读 · 0 评论 -
【Django】文件读取时路径问题
其实之前已经解决过类似问题了,现在又遇到了还要重新百度。要命的是这次百度不到结果了就很迷。还是来记录一下。django中文件读取时相对路径是以manage.py所在位置为基准的原创 2020-12-08 10:40:08 · 1703 阅读 · 3 评论 -
【Django】request.POST.get()无法获取json数据
之前用这种方法明明是可以用的,也多方测试过。但是现在新开了一个项目又不可以了。在网上查了一下说是因为contentType为application/json时,Django不支持request.POST.get(),但可以通过request.body来获取string类型的参数:import jsondata = json.loads(request.body)data.get('xxx')具体原因脚本之家解释的很清楚,从源码的角度:(脚本之家这次终于没有让我失望!)脚本之家:解决Django的原创 2020-12-08 10:37:27 · 3286 阅读 · 0 评论 -
【Django】多环境下的配置文件
因为合作关系,项目下的settings.py文件中包含一些数据库密码的设置,但是每个人对数据库密码设置是不一样的。为了省去每次拉取文件都要改动密码的麻烦,在网上找了一些这种情况下的解决方案,在下面罗列一下。在Django中同时使用多个配置文件的方法总结一下这篇文章就讲了三个方法:设置成两个全面的,彼此独立的配置文件设置一个基本的配置文件(比如,为了开发)和第二个(为了产品)配置文件,第二个配置文件仅仅从基本的那个配置文件导入使用一个单独的配置文件,此配置文件包含一个Python的逻辑判断根据上下原创 2020-10-13 17:50:28 · 444 阅读 · 0 评论 -
【Django】将多个migrations合并为一个
开发时不免会多次更改model导致migrations文件很多,但里面传递的信息并不是那么的重要,不如把多个合并为一个。参考了下面的文章在不用销毁数据库里面数据的前提下对migrations文件进行合并。Django数据库操作 —— 干净的重置migration...原创 2020-10-12 17:50:42 · 1042 阅读 · 0 评论 -
【Django】文件上传下载 | 文件删除 | 测试TestCase
因为我做的是前后端分离的,所以其实网上很多教程是针对前后端都在Django写的很不友好,需要查很多博客还要结合官网的资料才写出来的。其实很多博客也是照着官网资料翻译一遍,英文好的建议直接看官网吧,讲得还是很全面的。可直接搜索关键字MEDIA_ROOT,MEDIA_URL,FileField,FileResponse对我帮助很大的上传文件博客...原创 2020-09-29 14:57:37 · 804 阅读 · 0 评论 -
【Django】记录vs code和python的插件/包
对自己用到的插件/包做一个记录和说明吧,免得以后要用的却不知道用了什么一、vs code的插件Anaconda Extension PackC/C++C/C++ SnippetsChinese(Simplified)Language Pack for Visual StudioCode RunnercompareitDjangoDjango SnippetsDjango TemplateES7 React/Redux/GraphQL/React-Native snippetsESL原创 2020-09-27 17:45:24 · 192 阅读 · 0 评论 -
【Django】pytest | TestCase测试类
from django.test import TestCase官方文档入门文章,包括基础三部曲(生成客户端,发起请求,验证响应),还有生成随机数据库字段,增加请求头原创 2020-09-27 17:21:30 · 687 阅读 · 0 评论 -
【Django】数据库从sqlite切换为postgreSQL
一、postgreSQL下载安装postgreSQL官方安装地址菜鸟教程的windows安装教程安装过程中会要求输入超级用户的密码,我的端口号默认是5432,其他就没什么不一样的了二、Django代码改写1、settings.py里面的database段设置从DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'mydatabase', }}改原创 2020-09-24 17:12:41 · 642 阅读 · 0 评论 -
【Django】自定义用户模型
这篇文章写的很好了,各方面都有涉及。包括:修改配置文件AUTH_USER_MODEL特别重要的先后顺序(一定放在最前面做!)自定义用户模型时,一定要设置的字段REQUIRED_FIELDS中, 必须提供所有的blank=False字段自定义完用户模型,使用时应该怎么使用(正确的语法)。比如它被当作外键,和正常使用时(不能直接用User表示,要引入一些文件并添加一些设置)Django 重写用户模型 AbstractBaseUser...原创 2020-09-03 16:27:40 · 175 阅读 · 0 评论 -
【Django】objects管理器对象
一、基本概念objects是Manager类型的对象,定义在from django.db import models中用于模型对象和数据库交互假设定义了一个名为Students的模型,当查询数据库时一般都是:#返回一个queryset()Students.objects.all()但是当自定义管理器对象时:stuobj = models.Manager()Students.stuobj.all()注意:一旦自定义管理器对象,默认的objects 就不再自动生成当查询某些字段并不想原创 2020-09-03 15:04:29 · 810 阅读 · 0 评论 -
【Django】定时任务APScheduler
APScheduler官方User guide文档后台需要做一个每隔30秒扫描模拟器是否在线的功能,所以就用到了APScheduler(安装使用pip即可)。现在暂时在windows下做,所以放弃了只支持Linux的crontab和celery。按网上的例子做了个demo结果报错No module named 'apscheduler.scheduler’一开始demo是这么写的:from apscheduler.scheduler import Schedulersched = Schedul原创 2020-08-26 17:14:05 · 992 阅读 · 0 评论 -
【Django】未来的坑
1、定时任务Linux下可能会改用crontab,应该可以自己控制启动与结束现暂时打算用apscheduler,但是这个在使用uwsgi作为服务器的时候会出现重复运行的bug,详情请搜索“apscheduler重复运行”也可以考虑使用celery,因为看到配置较麻烦,用于小项目中不划算所以有点犹豫。但对于高性能应该是这个的处理好一点吧...原创 2020-08-26 09:52:55 · 251 阅读 · 0 评论 -
【rest_framework】response如何返回json数据格式的内容|如何处理接收的json数据
一、返回1.使用JsonResponse返回from django.http import JsonResponseresponse = {'cmd':'ACK' + cmd}return JsonResponse(response)2.使用JSONRenderer转换数据格式from rest_framework.renderers import JSONRendererjson_data = JSONRenderer().render({'cmd':'ACKinfo'})retur原创 2020-08-21 18:14:49 · 1482 阅读 · 0 评论 -
【Django】报错
Manager isn‘t available;‘auth.User’ has been swapped for ‘cms_user.user’想登陆admin管理页面,但是不知道用户名和密码,想打开py manage.py shell来查看已创建的超级用户from django.contrib.auth.models import Useruser = User.objects.filter(is_superuser = True)print(user)但是出现这个错误原因:主项目下的se原创 2020-08-21 13:38:47 · 1540 阅读 · 0 评论 -
【rest_framework】入门教程 | 虚拟环境
新建项目新建一个名为mysite的项目django-admin startproject mysite原创 2020-08-26 10:29:59 · 1043 阅读 · 0 评论 -
【Django】学习网站整理
Django自定义User模型以及用户系统(用户、权限、组)的使用原创 2020-08-20 11:31:56 · 184 阅读 · 0 评论 -
【Django】入门 | urls.py | views.py | models数据库
基础...\> py -m django --version原创 2020-08-19 10:29:01 · 1440 阅读 · 0 评论 -
【Django】局域网内实现访问
在局域网内,使其他主机能访问到该主机上的服务器关闭主机电脑上的防火墙(我没做也能行得通,但看其他教程需要做)在项目下的settings.py文件中,找到ALLOWED_HOSTS=[ ],改为ALLOWED_HOSTS = ["*"]启动服务器时输入指令python manage.py runserver 0.0.0.0:8000在其他主机的浏览器上输入https://192.168.1.6:8000…即可访问(http要加上,ip改为自己主机的ip,端口号及之后的不用变)...原创 2020-08-17 17:45:45 · 1297 阅读 · 2 评论