Django
前热火球员LeBron James
A programmer who can't play basketball is not a good cook
展开
-
Django常用导入模块
一,django常用模块汇总:from django.conf import settings # Django配置文件,自己django项目有配置就用自己的,没有就用系统默认配置。from django import forms # form组件 class MyForm(forms.Form)from django.forms import widgets # widget=widgets.PasswordInput(attrs={'class': 'form-control'})from原创 2021-05-31 14:41:49 · 451 阅读 · 1 评论 -
如何在Django里面完美整合Vue项目
如何在Django里面完美整合Vue项目转载 2021-05-31 14:05:26 · 479 阅读 · 0 评论 -
使用django-cors-headers来解决跨域问题
在settting里面这样配置:ALLOWED_HOSTS = ["*"]# Application definitionINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contr原创 2021-05-28 15:01:01 · 283 阅读 · 0 评论 -
django基础之DRF初始化(setting配置)
一,流程认证权限限流序列分页版本排序过滤二,在settings.py中的配置REST_FRAMEWORK = { # 文档报错: AttributeError: ‘AutoSchema’ object has no attribute ‘get_link’ # 用下面的设置可以解决 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema', # 默认设置是: # 'DEFAULT_S原创 2021-05-27 15:28:41 · 286 阅读 · 0 评论 -
STATIC_URL、STATIC_ROOT
STATIC_URL、STATIC_ROOT、STATICFILES_DIRS三者区别转载 2021-05-27 13:41:20 · 135 阅读 · 0 评论 -
django.db.utils.OperationalError: (2003, “Can‘t connect to MySQL server on ‘‘([Errno 61] Connection
在settings.py同目录下的__inti__.py中加入下面代码即可:import pymysqlpymysql.version_info = (1, 4, 13, "final", 0)pymysql.install_as_MySQLdb() # 默认连接MySQL的方式原创 2021-04-29 09:43:46 · 763 阅读 · 0 评论 -
django快速复制(克隆)一条查询结果的方法
最近的Django项目中有复制记录的需求,就是记录定时巡检表,在主任务下面,到时间就增加一条子任务,任务内容相同,就是主键id要改变。我的方法如下:def set_sub_inspect_task(taskid, start_time): task = inspect_model.InspectTask.objects.get(id=taskid) task.id = None task.start_time = start_time task.parent_task =原创 2020-12-22 15:37:47 · 1619 阅读 · 0 评论 -
Django中数据库查询get和filter区别
1、get:输入参数:get的参数只能是model中定义的哪些字段,只支持严格匹配。Entry.objects.get(id=‘foo’) # raises Entry.DoesNotExist.返回参数:get 返回值是一个定义的model对象,只有一条记录返回的时候才正常,也就说明get的查询字段必须是主键或者唯一约束的字段。当返回多条记录或者是没有找到记录的时候都会抛出异常.2、filter输入参数:filter的参数可以是字段也可以是扩展的where查询关键字,如in,like,返回原创 2020-12-17 11:23:15 · 776 阅读 · 0 评论 -
Django+vue实现websocket通信
前端和后端的交互模式最常见的就是前端发数据请求,从后端拿到数据后展示到页面中。如果前端不做操作,后端不能主动向前端推送数据,这也是http协议的缺陷。 因此,一种新的通信协议应运而生---websocket,他最大的特点就是服务端可以主动向客户端推送消息,客户端也可以主动向服务端发送消息,实现了真正的平等。原创 2020-09-04 15:33:00 · 2238 阅读 · 0 评论 -
django-uwsgi基本配置
一、我的配置:[uwsgi]env=LANG=en_US.UTF-8env=LANGUAGE=en_US.UTF-8pythonpath=/opt/mcu/nms_webserver/nms_server_python3/lib/python3.5/site-packageshttp=[::]:8081http-timeout=3600chdir=/opt/mcu/nms_webserver/nms_serverprocesses=8threads=1master=truepidfil原创 2020-07-21 14:31:54 · 687 阅读 · 0 评论 -
django在查询集中对日期字段进行格式化
我使用的是extra Django文档介绍1.原来的查询语序:return inspect_model.InspectTask.objects.filter(parent_task=taskid).values('id', 'start_time')返回值:[ { "id":1019, "start_time":"2020-06-23T00:00:00" }],2.使用extra后查询语序:return inspect_model.InspectTask.objects.filter(pare原创 2020-06-29 17:22:21 · 867 阅读 · 0 评论 -
request.GET.get()和request.GET()区别
我们知道,request.GET() 是django根据键接收值常用方法,django官方文档也是给出的这个,但是我们实际开发基本上都是request.GET.get(),其实很好理解,但是对于许多初学者还是很迷惑,下面就这个问题我讲一下:query = request.GET('name')query = request.GET.get('name', '')寻找名为name的GET参数,而且如果参数没有提交,返回一个空的字符串。注意在 request.GET 中使用了 get() 方法,这可原创 2020-06-23 15:21:34 · 13287 阅读 · 1 评论 -
浅谈HttpResponse、JsonResponse、Response区别
HttpResponse 返回的content_type默认是text/plain. 并且参数只能是字符串,并没有格式化要求, 像这种写法是错误的:尽量不要使用.JsonResponse 是Django默认的json格式响应, 对应content_type=“application/json”, 参数直接传入dict:如果视图是视图函数的写法, 就使用JsonResponse.Response: rest-framework提供的类, 封装的比较好, 并且目前配置的有自动的异常处理, 不..原创 2020-06-11 18:53:04 · 1208 阅读 · 0 评论 -
Cannot resolve keyword XXX into field
最近项目部署测试,查日志无意中发现了一个问题,异常描述:‘Cannot resolve keyword ‘release_attribute_in’ into field’经过定位找到报错代码:release_attribute_in=[2,4]这是个语法bug,书写不规范,django范围查询条件是在字段key值后面加"__",双下划线,也即是:release_attribute__in=[2,4]...原创 2020-05-25 11:05:44 · 4197 阅读 · 0 评论 -
python+vue实现文件下载,(导出EXCEL文件,下载.zip等文件功能)
一、公司项目需求要求导出表格数据,以excel文件导出,后端python处理已经可以直接将数据导出并生成Excel文件,但是前后台传输是不可能直接传输文件的,是以二进制文件流进行传输的,此时呢就会遇到一个问题,最后上网差对比总结,下面这个成熟且处理简单。二、代码:/** * vue从后台获取数据,并导出EXCEL文件 * @param value * @returns {*} * @c...原创 2020-04-15 19:31:11 · 3085 阅读 · 2 评论 -
django用requests从url获取图片(数据类型是bytes)后如何在前端中显示出来
一、需求:最近做公司项目需要从Graphite拿到cpu状态折线图,用vue显示到前端,django用requests从url获取图片后开始做法是先存到环境/opt/data/graphite/下,然后在写一个获取图片的url显示到前端,这样做麻烦不说,还会引起一些问题(定时清理问题,多用户访问问题,静态文件写权限问题)。二、解决办法:直接把返回到前端展示,response.content拿到图...原创 2020-03-24 22:49:21 · 1672 阅读 · 0 评论 -
用uwsgi跑定时任务
一、项目做一个定时请求版本信息的定时任务,我用是python实现定时任务(参考)from threading import Timer......# 定时调度请求版本信息def sussrv(signum): print('start...') ...... ..... .... ... .. . #Ti...原创 2020-03-05 21:41:18 · 1162 阅读 · 0 评论 -
Django HttpResponse与JsonResponse
最底层的解释,作者总结的很好鸟它鸟转载 2020-02-21 14:04:22 · 139 阅读 · 0 评论 -
django 怎样配置连接多个数据库
最近做项目用Django需要连接不同的mysql,网上搜了很多,发现这篇说的最清晰,我已操作成功;Django之连接多个数据库的相关配置转载 2019-12-02 17:02:00 · 531 阅读 · 0 评论 -
Django使用url拼接参数从linux下载文件
一、需求:从linux下/opt/data/susmgr/version/下下载文件二、解决思路:当然url要暴露参数,获取依据是下载端提供四个参数为条件,设置动态路由,另外response要求:Content-Type应设置oct-stream,Content-Dispostion应设置filename。三、代码实现:1.路由url:url(r'download/([a-zA-Z]+)/...原创 2019-11-22 17:04:11 · 430 阅读 · 0 评论 -
django关于QuerySet的分片操作
django查询集QuerySet分片有两种写法:第一种:news = News.objects.all()[1:10]第二种:news = News.objects.all()news = news[1:10]经测试发现,因为QuerySet是lazy query,如果没有对QuerySet进行实际操作,以上两种写法是完全一样的,打印它们的query就可以看出来。django会生成...原创 2019-10-12 13:34:21 · 648 阅读 · 0 评论 -
Django中的HttpResponse和JsonResponse
我们在编写一些接口函数的时候,经常需要给调用者返回json格式的数据,那么如何返回可直接解析的数据呢?首先第一种方式:from django.shortcuts import renderfrom django.http import HttpResponse,JsonResponseimport json# Create your views here.def index(req...原创 2019-09-24 09:51:14 · 510 阅读 · 0 评论 -
View与APIView的区别
这篇文章总结的很好,收藏了:上海-悠悠转载 2019-09-16 13:18:32 · 745 阅读 · 0 评论 -
django序列化组件
一、需求:公司项目需要用django写一个接口供前端vue.js展示使用,API文档要求格式如下:{ "success": 1, "server_unrepaired_warnings": [ { "device_moid": "afdfb80e-64dc-11e9-8378-a4bf0103e903", "device_name": "xmpu5", ...原创 2019-09-09 11:00:41 · 173 阅读 · 0 评论 -
解决 python No migrations to apply 无法生成表
第一步:删除该app名字下的migrations文件。第二步:进入数据库,找到django_migrations的表,删除该app名字的所有记录。delete from django_migrations;注意:只删除django_migrations表有你创建app名字记录,其它不要删,误删了你就等着重装mysql吧第三步:python manage.py makemigrat...原创 2019-08-23 15:35:20 · 267 阅读 · 0 评论 -
Django根据数据库反向生成models
1.运行下面代码可以自动生成models模型文件:python manage.py inspectdb2.把模型文件导入到app中(app为models.py对应文件夹的名字):python manage.py inspectdb > app/models.py...原创 2019-08-22 13:47:26 · 190 阅读 · 0 评论