
Django
Django
蓝小白1024
总有一天你会长大,一个人抵得上千军万马.
展开
-
Django HTTPResponse 响应体中返回 openpyxl 生成的文件
Django返回文件流时使用指定文件名http响应头中字符应该按照url百分号编码# Python3from urllib.parse import quote...# 字符串编码问题 str(filename) ---- filename为文件名, 可能需要转换为字符串先response['Content-Disposition'] = 'attachment; filename={0}.xlsx'.format(quote(filename))Django HTTPResponse 响原创 2021-03-15 15:12:44 · 1240 阅读 · 2 评论 -
解决Error loading MySQLdb module. Did you install mysqlclient?不装mysqlclient进行解决
报错信息django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?在进行迁移模型类进行创建表时, 因为缺少去MySQL进行交互的插件mysqlclientmysqlclient这个东西对我来讲非常的难装, 有成功过的情况, 大部分为失败,最近又装失败,把虚拟都还原啦(快照保命)解决方案在虚拟环境中安装pymysqlpip install p原创 2020-11-30 09:03:50 · 2626 阅读 · 0 评论 -
DATABASE_ROUTERS在Django中使用多个MySQL数据库进行配置
在Django中,默认使用的MySQL数据库为default, 如果不进行配置的话,迁移建表就会创建到default数据库准备:先创建两个数据库在创建一个管理员管理这两个库create user python identfied by "123456" # 意思看图片吧grant all on db_user.* to 'python'@'%';grant all on db_order.* to 'python'@'%';flush privileges;配置我.原创 2020-11-27 11:19:17 · 2728 阅读 · 0 评论 -
解决csrf(跨站点请求伪造)攻击在Django发送post请求时报403错误
解决方案一在Django配置文件settings文件中找到中间件配置项(MIDDLEWARE)然后注释掉'django.middleware.csrf.CsrfViewMiddleware'注释掉之后Django就会无法防止csrf的攻击一般是不会通过这种方法就行解决解决方案二使用Django自带的装饰器csrf_exemptfrom django.views.decorators.csrf import csrf_exempt用法#在处理函数加此装饰器即可@csrf_exempt原创 2020-11-26 09:38:20 · 353 阅读 · 0 评论 -
No migrations to apply解决在Django进行数据库迁移建表时,未报错但是表没有创建
首先把你的要迁移的子应用下的migrations文件下的其他文件删除,只剩下__init__.py文件然后去数据库找到django_migrations表,这个表里面都是你的迁移记录,把相应的子应用下的迁移记录删除然后在执行python manage.py makemigrations 应用名字在后面加上指定迁移的子应用名字最后,执行创建成功python manage.py migrate...原创 2020-11-23 09:16:39 · 753 阅读 · 2 评论 -
Django中的F 表达式和Q对象
Django中的F 表达式和Q对象F表达式from django.db.models import FDjango中提供F 表达式, 就是将模型字段的值与同一模型中的另一个字段进行比较例如,要查找比 pingbacks 有更多注释的所有 blog entry 的列表,我们构造一个 F() 对象来引用 pingback 计数,并在查询中使用该 F() 对象:>>> from django.db.models import F >>> Entry.objects原创 2020-11-19 16:37:50 · 472 阅读 · 0 评论 -
Django中ORM聚合查询aggregate和分组查询annotate
Django中ORM聚合查询aggregate和分组查询annotate聚合查询-aggregate聚合查询是使用aggregate()过滤器调用聚合函数.聚合函数从django.db.models引入聚合函数包括: Avg 平均,Count 数量,Max 最大,Min 最小,Sum 求和from django.db.models import Avg,Max,Min,Count,Sum聚合查询返回的数据类型为字典类型字典的格式为:键的名称默认是属性名__聚合函数名小写,值就是计算出来原创 2020-11-18 20:02:25 · 1537 阅读 · 0 评论 -
Python中Django处理MySQL事务@transaction.atomic(using=‘default‘, savepoint=True)
Python中Django处理MySQL事务@transaction.atomic(using=‘default’, savepoint=True)from django.db import transaction # 导入事务模块在Django中开启MySQL事务有两种方式, 一种是使用装饰器,还有一种是使用with (相当于上下文管理器)来开启事务装饰器方式在函数视图中# 在函数视图添加一个@transaction.atomic装饰器# 接受一个 using 参数表示所要操作的数据库。如原创 2020-11-17 11:27:50 · 1178 阅读 · 0 评论 -
Django中的函数视图和类视图以及路由的定义
Django允许接收的请求方法http_method_names = [‘get’, ‘post’, ‘put’, ‘patch’, ‘delete’, ‘head’, ‘options’, ‘trace’]函数视图函数视图它是一个标准的Python函数函数视图中, 第一个参数必须定义: 第一个参数为请求对象, 用于接收用户发送的请求报文.在函数视图中, 必须返回响应对象: 用于构成响应报文, 并响应给用户请求对象: HTTPRequest() 对应的对象响应对象: HTTPRes原创 2020-11-15 22:53:27 · 1530 阅读 · 0 评论