05 2019 档案
摘要:一、首先:以下代码都是在LINUX上执行的,因为新版本celery已经不支持windows系统,运行会报错。 Celery是处理大量消息的一个分布式系统,那他是如何运行的呢? 可以看到,Celery 主要包含以下几个模块: 任务模块 Task包含异步任务和定时任务。其中,异步任务通常在业务逻辑中被触
阅读全文
摘要:Django信号 很多数情况下,我们需要在操作数据库之前或者之后做某些操作,比如说写个日志之类的,我们当然可以找到每一个sql语句,在其前后加一段代码, 但是,这不但浪费时间,还为以后的维护增加了难度,这个时候,就体现出信号的作用了。下面的代码是Django中对数据库增加一条数据的操作: 1 2 3
阅读全文
摘要:一、缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者memcache中之
阅读全文
摘要:基础操作 按返回值分类 双下划线操作 ForeignKey操作 正向查找 对象查找(跨表) 语法:对象.关联字段.字段 示例: 字段查找(跨表) 语法:关联字段__字段 示例: 反向操作 对象查找 语法:obj.表名_set 示例: 字段查找 语法:表名__字段 示例: ManyToManyFiel
阅读全文
摘要:错误类型1: 未完待续,继续更新。。。 RelatedObjectDoesNotExist: 出现这种异常,检查对应关系发现存在,可能问题就在modelform中少了instance=xxxx,我们只写了xxx,却少了instance=。所以我们在写代码时要细心,少出现这种类似拼写,少些的错误 se
阅读全文
摘要:什么是中介模型 中介模型针对的是ManyToMany(多对多)的时候第三张表的问题, 中介模型其实指的就是我们不通过Django创建第三张表,如果自己不创建第三张表,而是由django给我们创建,那就不存在中介模型 中介模型示例 普通的ManyToMany示例 1 2 3 4 5 6 class B
阅读全文
摘要:WSGI WSGI的全称是Web Server Gateway Interface(Web服务器网关接口),它不是服务器、python模块、框架、API或者任何软件,只是一种描述web服务器(如nginx,uWSGI等服务器)如何与web应用程序(如用Django、Flask框架写的程序)通信的规范
阅读全文
摘要:一、概念 进程:进程,是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 重点:1. 是一次运行活动,比如qq是程序,pycharm是程序,只有运行起来才是进程。 2.是系统进行资源分配和调度的基本单位,每个进程运行时,系统都会为他分配各自的内
阅读全文
摘要:做一个简单的小实例: 目录结构如下: setUp就是帮我们做测试前的准备工作,比如实例化等, tearDown可以帮我们关闭数据库等收尾操作, 一般测试方法必须以test_开头,里面可以写我们需要测试的业务逻辑,同时指定self.assertEqual()将我们的结果和运行的实际结果进行比对。 su
阅读全文
摘要:一、针对跨域请求,我们首先要知道什么是同源策略。 同源策略即是指:域名,协议,端口相同,三者中有一者不一致,为了安全考虑我们所在的服务器是无法获得想要访问资源所在服务器的资源的。 如图: 比如我们在localhost:9090/result上有json数据:data = {'name':'jack'
阅读全文
摘要:Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :cr
阅读全文
摘要:1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 bit ). 它
阅读全文
摘要:sqlalchemy所依赖的模块 连接数据库,利用数据库字符串构造engine, echo为True将打印所有的sql语句 创建数据库和删除数据库: 建表:首先需要生成一个BaseModel类,作为所有模型类的基类 构建数据模型User ### 留意,ForeignKey字段,backref,rel
阅读全文
摘要:Jmeter是公司做接口测试的一个开源项目,今天在研究如何用python写个脚本去执行这个jmeter脚本,Jmeter有命令行模式和界面模式,设置好了环境之后,我用了最简单的一条命令做了测试: 比如:jmeter -n -t ..../文件.jmx -l result.txt 这里忽略jmx文件的
阅读全文
摘要:用户通过浏览器发送请求 请求到达request中间件,中间件对request请求做预处理或者直接返回response 若未返回response,会到达urlconf路由,找到对应视图函数 视图函数做相应预处理或直接返回response View中的方法可以选择性的通过Models访问底层的数据 取到
阅读全文
摘要:Django ORM执行原生SQL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 # extra # 在QuerySet的基础上继续执行子语句
阅读全文
摘要:常用字段 AutoField : 自增int自增列,必须填入参数 primary_key=True。 当model中如果没有自增列,则自动会创建一个列名为id的列。 IntegerField: 一个整数类型,范围在 -2147483648 to 2147483647。 手机号我们一般用BigIter
阅读全文
摘要:一些基本的操作,在工作者遇到相关问题要有相关印象。 一、 你想对浮点数执行指定精度的舍入运算。 对于简单的舍入运算,使用内置的 round(value, ndigits) 函数即可。比如: >>> round(1.23, 1) 1.2 >>> round(1.27, 1) 1.3 >>> round
阅读全文
摘要:迭代是Python最强大的功能之一。初看起来,你可能会简单的认为迭代只不过是处理序列中元素的一种方法。 然而,绝非仅仅就是如此,还有很多你可能不知道的, 比如创建你自己的迭代器对象,在itertools模块中使用有用的迭代模式,构造生成器函数等等。 一、for循环的内部原理? for循环迭代遍历对象
阅读全文
摘要:一、你想在字符串中搜索和匹配指定的文本模式 遗漏点:re模块其实也是帮助我们进行字符串处理的重要工具,我之前总是想着用内建的函数来处理,其实如果是复杂的文本和数据结构,re模块能帮助我们处理很多信息。 对于简单的字面模式,直接使用 str.replace() 方法即可,比如: 对于复杂的模式,请使用
阅读全文
摘要:这篇还是总结一下自己关于模块与包有遗漏或者不知道的地方,学习路上,还需共勉。 一、 控制模块被全部导入的内容 当我们使用import * 时,会导入模块内所有元素,那么怎么才能控制import * 的内容呢? 遗漏点:在你的模块中定义一个变量 __all__ 来明确地列出需要导出的内容。 这样我们在
阅读全文
摘要:简单工厂模式,可能你不是十分掌握它的概念,但是在日常码代码中你一定不经意间用到过。 一、类别: 简单工厂模式又称之为静态工厂方法,属于创建型模式。 二、定义: 在简单工厂模式中,可以根据传递的参数不同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的类都有一个
阅读全文
摘要:以一张图开始今天的死磕,这时早上组长刚说我的。有感,想跟深入的再熟悉一下元编程。 软件开发领域中最经典的口头禅就是“don’t repeat yourself”。 也就是说,任何时候当你的程序中存在高度重复(或者是通过剪切复制)的代码时,都应该想想是否有更好的解决方案。 在Python当中,通常都可
阅读全文
摘要:利用python进行文件操作在我们平常项目中也经常用到,下面是我日常工作中忽略或者没有遇到过的集中情况。 一、你想将 print() 函数的输出重定向到一个文件中去。 在 print() 函数中指定 file 关键字参数,像下面这样: 注意:关于输出重定向到文件中就这些了。但是有一点要注意的就是文件
阅读全文
摘要:面向对象编程,说起来很抽象,也许一百个人有一百种答案,最基本的三大概念无疑就是:封装,继承和多态,python是一种强类型动态性语言,默认是支持多态的,也就是在对象调用方法时,python会自动检查该对象是否有我们想要调用的方法,不用写特殊的接口类取指定,也不用事先指定该对象的类型。 面向对象相对于
阅读全文
摘要:初闻设计模式这个词汇,对于我来说其实是一头雾水的,看了一些相关书籍还是觉得有些云里雾里的,于是就想写几篇关于基本设计模式的博客,我会从 1.类别,2.定义,3.应用场景,4.代码实现,5.优缺点,这五个方面给自己理清一下思路,如有不对之处,还望多多指正。 设计模式类别分为三大类: 一、创建型:提供实
阅读全文
摘要:劳动节第二天,作为编程菜鸟继续来图书馆学习,今天来死磕第二部分——函数。 一、你希望函数的某些参数强制使用关键字参数传递 之前思路:直接用关键字传参。 遗漏点:以上是正确的,但是在传参的时候传入了一个位置参数可能就会报错。 注意:传递None和不传值是有差别的。 二、你写好了一个函数,然后想为这个函
阅读全文
摘要:昨天在git上看到一篇python基础学习的文章,本以为基础还算好的我,通过文章中的几个例子,发现不会的地方以及日常忽略的重要地方,特以此着手写下这个死磕系列,警醒自己,以及用来及时复习。 一、解压可迭代对象赋值给多个对象 遗漏点:for循环中可以解压元素对象,并且自动按位置解压或压缩。我以前只了解
阅读全文