![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python—django
爱学习的狮王
既然选择了远方,便只顾风雨兼程!!!
展开
-
项目从python3.6升级到python3.10遇到的坑
解决PY_SSIZE_T_CLEAN问题原创 2023-09-20 15:01:18 · 1070 阅读 · 0 评论 -
安装mysqlclient报错OSError: mysql_config not found
ubuntu18.04:sudo apt-get install libmysqlclient-devcentos:yum install mysql-devel原创 2021-04-13 16:31:33 · 325 阅读 · 0 评论 -
Django中信号的实现
signal在django中用于发送通知,在django中内置的信号包括 post_save, pre_delete 等;使用这些信号可以很方便实现业务逻辑与model之间的解耦。应用场景适用于:当修改model的时候,需要执行一些与当前app无关额外的操作,比如逻辑中包含第三方的库;执行的多个行为且后续仍可能添加操作等;不适用:修改当前app中的某个model,这种场景建议放到save函数...原创 2019-01-09 16:51:31 · 1021 阅读 · 1 评论 -
django中的queryset合并
将queryset合并在网上找到两种方法1、使用chain拼接from itertools import chainquerysets = chain(one_queryset,two_queryset)该方法有人说可行,但是测试总是报错,不是特别清楚原因2、使用 | 直接将两个queryset拼接起来querysets = one_queryset | two_queryset...原创 2019-01-31 16:05:35 · 2901 阅读 · 2 评论 -
django中的QueryDict对象
最近遇到了django中接收前端返回的列表取值的问题,用postman模拟数据只能采用raw模式传递json数据,这样采用request.data.get(‘list’)能够取到列表,但是在单测中patch请求传数据的时候发现传过去的列表只能取到最后一个数据,经过查找是querydict 取值的问题,最终采用的dict(request.data).get()的方式.如果大家有什么好的建议,欢迎指...原创 2019-03-08 11:09:11 · 3455 阅读 · 0 评论 -
django项目中实际时间与数据库内时间不一致的问题
在数据在库中执行 set time_zone="+0:00";具体数值为多少看你所在的位置或者在django中的setting.py中设置USE_TZ = False原创 2019-03-18 13:10:52 · 2362 阅读 · 0 评论 -
django中的models类自动转换为编写文档时的格式
例:a = models.IntegerField(help_text='aaaa', null=False, default=0, choices=MEDICAL_OFFICE,verbose_name=_('aaaa'),)b = models.IntegerField(help_text='bbbb', null=False, default=0, choices=MEDICAL_OFF...原创 2019-03-22 18:57:11 · 368 阅读 · 0 评论 -
Django优化(减少数据库查询次数)---select_related和prefetch_related的使用
在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能。本文通过一个简单的例子从QuerySet触发的SQL语句来分析工作方式,从而进一步了解Django具体的运作方式。0.初始化打开log调试,在setting中加入LOGGING = { 'version':1, 'disable...原创 2019-07-10 19:19:04 · 1179 阅读 · 0 评论 -
Django的queryset的特性及使用优化(带实例)
Django的QuerySet具有延迟特性,仅在强制操作下才会被执行,这种行为使得QuerySet更加的高效我们可以连接任意一个过滤器到一个QuerySet上,在QuerySet计算之前并不会访问数据库QuerySet被计算的场合首次迭代时当对QuerySet访问时,如Post.objects.all()[:4]当对QuerySet缓存时当在QuerySet上调用repr()或len...原创 2019-09-04 23:54:28 · 846 阅读 · 0 评论 -
python项目需求文件requirements.txt的创建及安装
python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。在虚拟环境中使用pip生成:(venv) $ pip freeze >requirements.txt安装或升级包后,最好更新这个文件。当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令:(venv) $ pip install...原创 2019-01-08 18:59:08 · 1160 阅读 · 0 评论 -
Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
关联关系字段 (Relationship fields)ForeignKey,ManyToManyField与OneToOneField分别在Model中定义多对一,多对多,一对一关系。例如,一本书由一家出版社出版,一家出版社可以出版很多书。一本书由多个作者合写,一个作者可以写很多书。class Author(models.Model): name=models.CharField(...原创 2019-01-05 15:06:46 · 503 阅读 · 0 评论 -
python中的抽象类
@abstractmethoda class with an abstract method cannot be instantiated (that is, we cannot create an instance by calling it) unless all of its abstract methods have been defined in subclasses. Althoug...原创 2019-01-05 10:51:07 · 257 阅读 · 0 评论 -
Django Ajax跨域问题解决方案
跨域调用首先下载这个插件pip install django-cors-headers然后在你的Django项目中的settings.py中做如下配置(install app和middleware):INSTALLED_APPS = (…‘corsheaders’,…)MIDDLEWARE = [ # Or MIDDLEWARE_CLASSES on Django < 1...转载 2018-11-25 11:52:33 · 520 阅读 · 0 评论 -
django中的models的常用字段及属性
django 模型models 常用字段1、models.AutoField 自增列 = int(11)如果没有的话,默认会生成一个名称为 id 的列如果要显式的自定义一个自增列,必须设置primary_key=True。2、models.CharField 字符串字段 必须设置max_length参数3、models.BooleanField 布尔类型=tinyint(...转载 2018-12-04 17:58:24 · 2693 阅读 · 1 评论 -
ManytoMany字段属性through和through_fields
ManyToManyField¶classManyToManyField(to,** options)[source] ¶多对多的关系。需要一个位置参数:与模型相关的类,它与它的作用完全相同 ForeignKey,包括递归和 惰性关系。可以使用字段添加,删除或创建相关对象 RelatedManager。数据库表示¶在幕后,Django创建了一个中间连接表来表示多对多关系。默认情况下,此表...原创 2018-12-04 19:08:59 · 2859 阅读 · 0 评论 -
django中Appconfig
django的project由多个app组成。project的设置由setting指定,而每个app的设置由AppConfig指定。app和project主要由INSTALL_APPS联系,也有url和middleware等等.AppConfig的属性通过__init__初始化的属性:name: app的路径名module: app的模块def __init__(self, app_na...原创 2018-12-05 19:09:33 · 5106 阅读 · 0 评论 -
python3中的@abstractmethod的用法
抽象方法:抽象方法表示基类的一个方法,没有实现,所以基类不能实例化,子类实现了该抽象方法才能被实例化。Python的abc提供了@abstractmethod装饰器实现抽象方法class DataClass(object): @abstractmethod def aaa(self): raise NotImplemented @abstractm...原创 2018-12-05 19:34:09 · 10000 阅读 · 3 评论 -
JWT
什么是JWT(JSON WEB TOKEN)转自于:http://www.jianshu.com/p/576dbf44b2ae什么是JWTJson web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被...转载 2018-12-05 19:54:47 · 116 阅读 · 0 评论 -
restframework--解析器
解析器1、Django的中的request.POST/request.body1、如果请求头中的Content-Type:application/x-www-form-urlencoded,request.POST中才有值(去request.body中解析数据)2、数据格式要求:name=xiaoming&age=18&num=12345678如:form表单提交默认为C...原创 2018-12-09 16:24:07 · 354 阅读 · 0 评论 -
Git忽略提交规则 - .gitignore配置
引用自:https://www.cnblogs.com/kevingrace/p/5690241.html在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。简单来说一个场景:在你使用git add .的时候,遇到了把你不想提交的文件也添加到了缓存中去的情况,比如项目的本地配置信息,如果你上传到Git中去...转载 2018-12-27 13:49:56 · 356 阅读 · 0 评论 -
django跨站保护机制和CSRF
CSRF:Cross-site request forgery,叫做跨站请求伪造,是指伪装来自受信任用户的请求来利用受信任的网站完成攻击。下面是我在网上看到的一个比较好的通俗的解释:受害者 Bob 在银行有一笔存款,通过对银行的网站发送请求 http://bank.example/withdraw?account=bob&amp;amount=1000000&amp;for=bob2 可以使 ...转载 2018-11-23 18:47:38 · 198 阅读 · 0 评论