django
拓宽视野
从事web开发工作。此处只是个人记事本
展开
-
django python models AES pycrypto 自动加解密
使用Django models 的特性给我们提供方便的AES加密、解密思路:django Field 在存入 Mysql 时会调用 get_prep_value 方法,从 Mysql 中取数据时会调用 to_python 方法,根据这个逻辑,我们就有方案啦。1)存数据时加密(重写 get_prep_value方法);2)取数据时解密(重写 to_python 方法)。准备AES 包安装pip install pycryptoExample Demo# coding: .转载 2020-12-16 14:03:38 · 925 阅读 · 0 评论 -
表关系中的常用字段:on_delete=models.CASCADE,ForeignKey,db_constraint,related_name,
from django.db import modelsclass Car(models.Model): ''' name字符串属性 color整形选择属性(0:银色,1:黑色,2红色,3灰色) price全精度小数类型 image图片文件类型 brand字符串类型 ''' COLOR_CHOICES = [(0,'银色'),(1,'黑色'),(2,'红色'),(3,'灰色')] name = models.CharField(m.转载 2020-08-07 09:53:42 · 808 阅读 · 0 评论 -
django2.2.7版本对mysql的支持总是报错 按照下面步骤操作恢复正常使用
# django启动mysql报错## 关于pymysql驱动的错误项目目中的__init__.py,写入```import pymysqlpymysql.install_as_MySQLdb()```## django2.2/mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3- 进入django安装目录/opt/conda373/envs/python37/lib/pyth原创 2020-06-17 10:11:33 · 313 阅读 · 0 评论 -
Django restframework 实现文件下载(json)
class DoView(APIView): def get(self,request): queryset = self.get_queryset() serializer = self.get_serializer(queryset, many=True) # 构造文件名 file_name = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + ".json" .转载 2020-06-12 09:31:52 · 810 阅读 · 0 评论 -
Django多对多数据增删改查
Django多对多数据增删改查1.表结构及基本方法1.表结构# models.py class Book(models.Model): author = models.ManyToMany(to='author', relate_name='author') """ ...字段 """ class author(models.Mod...转载 2020-04-07 18:14:21 · 1314 阅读 · 1 评论 -
django 多对多关系建立 三种方式
https://www.cnblogs.com/zj420255586/p/11761007.html转载 2020-03-31 14:39:58 · 775 阅读 · 0 评论 -
django.db.migrations.exceptions.CircularDependencyError: mlxyz.0001_initial, mlabc.0001_initial
makemigrations之后 migrate会报错django.db.migrations.exceptions.CircularDependencyError: mlxyz.0001_initial, mlabc.0001_initial原因是model中外键相互引用了解决办法先去掉一个外键引用 删除migrations 迁移或同步一次然后 再迁移同步一次...原创 2020-03-17 18:26:18 · 879 阅读 · 0 评论 -
pycharm配置django服务
第一步:设置django配置原创 2019-12-09 18:14:50 · 474 阅读 · 0 评论 -
Django的跨域问题
1.什么是跨域问题?跨域产生原因是啥? 通常情况下,跨域产生的原因是A浏览器要向B服务器请求资源时,如果下面的三个条件不满足就是涉及跨域问题:协议不同 主机不同 端口号不同2.Django中处理跨域请求资源的方案:# 首先安装第三方模块pip3 install django-cors-headers# 接着在Django项目的settings项目配置中注册INST...转载 2019-09-04 10:15:31 · 176 阅读 · 0 评论 -
django 多并发,多线程
django 原生为单线程序,当第一个请求没有完成时,第二个请求会阻塞,直到第一个请求完成,第二个请求才会执行。可以使用uwsgi 编程多并发的django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 web 服务中更是突出其优越的地方,由于其底层使用 epoll 异步IO模型...转载 2019-04-09 08:16:30 · 397 阅读 · 0 评论 -
Python框架下django 的并发和多线程
django 的并发能力真的是令人担忧,django本身框架下只有一个线程在处理请求,任何一个请求阻塞,就会影响另一个情感求的响应,尤其是涉及到IO操作时,基于框架下开发的视图的响应并没有对应的开启多线程,再者Python的多线程对于多核CPU有效利用率非常低,参照这里就使用 nginx + uwsgi 提供高并发nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 ...转载 2019-04-09 08:06:16 · 1285 阅读 · 0 评论 -
django中自定义字段Field
Django的Field类中方法有:to_python() # 把数据库数据转成python数据from_db_value() # 把数据库数据转成python数据get_prep_value() # 把python数据压缩准备存入数据库get_db_pre_value() # 把压缩好的数据转成数据库查询集get_prep_lookup() # 指定过滤的条件valu...转载 2019-02-20 16:26:26 · 1015 阅读 · 0 评论 -
django中自定义中间件
1:建立文件夹(包含__init__.py) beincommonuse2:创建一个新的python文件 general.py# 中间件基类from django.utils.deprecation import MiddlewareMixin# 异常处理from django.core.exceptions import ValidationError# 响应json...原创 2019-02-20 15:39:33 · 391 阅读 · 0 评论 -
django 中 上传文档或图片等对象的属性
picture = request.FILES.get("picture","")print(dir(picture))# 文件对象的属性如下['DEFAULT_CHUNK_SIZE', '__bool__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__...原创 2019-01-17 10:42:04 · 466 阅读 · 0 评论 -
django项目中app中导入settings文件
from django.conf import settings参考:https://www.cnblogs.com/chenjianhong/archive/2012/05/07/4145087.html原创 2018-11-14 10:22:16 · 4441 阅读 · 0 评论 -
关于django项目中 Error loading MySQLdb module
在setting.py同级目录下的__init__.py文件中加入以下代码import pymysqlpymysql.install_as_MySQLdb()注意:pymysql的安装版本必须在0.7以上原创 2018-09-04 18:06:26 · 248 阅读 · 0 评论 -
关于django中静态文件的配置及加载(1.11.8和2.0.3的区别)
静态文件所放的路径:和其他应用在同一路径下在django 1.11.8中配置如下:setting.py中 import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_URL = '/static/' STATICFILES_DIRS = (os.path.jo...原创 2018-04-15 19:01:31 · 733 阅读 · 0 评论 -
django中日志的设置和编写
# 自定义日志输出信息LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'standard': { 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d]...原创 2018-04-12 18:24:03 · 422 阅读 · 0 评论 -
关于django中图片的上传
django中图片的保存from 项目名称.setting import MEDIA_ROOT filename = request.FILES.get('前端传入参数', ‘’) suffix = Uploadfiles.name.split(".")[-1] part_path = part_path.strip("/") + "/"# 生成一个图片名称 name = uuid.uu...原创 2018-05-09 15:16:35 · 371 阅读 · 0 评论 -
django中图片上传的格式校验及大小
Uploadfiles = request.FILES.get('参数', '') for i in Uploadfiles : # 图片大小的属性 i.size suffix = os.path.splitext(i.name)[1] if not suffix: ...原创 2018-05-09 15:35:31 · 3287 阅读 · 0 评论 -
django中图片在前端能展示的路径配置
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),原创 2018-05-09 15:50:55 · 1689 阅读 · 0 评论 -
django中默认用户密码的加密方式
自django1.5之后,加密方式是 PBKDF2 算法与 SHA256 哈希值django中使用from django.contrib import authfrom django.contrib.auth import get_user_modelUser = get_user_model()query_result= User(username=username, tel=tel, role...原创 2018-06-13 10:54:30 · 7434 阅读 · 0 评论 -
django中 values values_list order_by filter
这个方法返回的是ValuesQuerySet,是QuerySet 的子类,也就是说,你可以用QuerySet里的方法。 需要注意的是,返回的不是list,不要直接当list来用了。对ValuesQuerySet遍历,每一个元素是“字典”dict。当不传入参数时,返回这个model的所有字段 AppDef.objects.values() [{'creator': u'adm...转载 2018-07-20 21:07:21 · 2015 阅读 · 0 评论 -
django values values_list
values返回是字典列表; values_list返回的是元组列表, values_list加上 flat=True 1 之后返回值列表原创 2018-07-20 21:11:20 · 1146 阅读 · 0 评论 -
django对数据库的操作手册
类型 描述 exact 精确匹配: polls.get_object(id__exact=14). iexact 忽略大小写的精确匹配: polls.objects.filter(slug__iexact="foo") 匹配 foo, FOO, fOo, 等等. contains 大小写敏感的内容包含测试: polls.objects.filter(questi...转载 2018-07-20 21:16:54 · 300 阅读 · 0 评论 -
django-crontab 定时执行任务方法
安装 pip install django-crontab添加app名称到 settings.py中INSTALLED_APPS = ( 'django_crontab', ... ) 到这里基本没有问题。 接下来创建定时任务可以分成两种,一种是执行自定义的mange.py的命令,另一种是执行自定义函数。我选择的方法是自定义函数。首...转载 2018-07-26 17:05:30 · 376 阅读 · 0 评论 -
django 中使用DateTime常用的时间查询
1、lt:小于queryset=yourobject.objects .filter(时间字段名称__lt=start)2、lte:小于等于queryset=yourobject.objects .filter(时间字段名称__lte=start)3、gt:大于某个时间now = datetime.datetime.now()#前一天start = now – dateti...原创 2018-07-28 14:22:42 · 5912 阅读 · 1 评论 -
django中下载文件,三种方式
1:使用HttpResponsefrom django.shortcuts import HttpResponsedef file_download(request): file=open('/home/dianwei/new_project/media/down_load.tar.gz','rb') # 可以改变读的方式 response =HttpResponse...原创 2018-08-14 11:03:15 · 1032 阅读 · 0 评论 -
遇见一个很弱智、低手的问题 ----项目在同步数据库日志
当我们拿到django项目之后发现每个app下面没有migrations文件夹时,这是就要警惕了,因为这是与数据库同步数据的必须有的,另外每个migrations文件下还必须有一个__init__.py文件...原创 2018-03-22 19:07:12 · 213 阅读 · 0 评论