在Django2.2+python3.7环境下,使用MySQL作为数据库引擎,执行makemigrations会出现AttributeError:'str'objecthasnoattribute'decode'错误.初步推断是因为使用PyMySQL代替mysqlclient的原因,而django本身的代码都是针对mysqlclient写的.PyMySQL这里传入的会是一个str类型,而str类型没有decode方法所以报错.在网上找到了一个暂时的解决方法
系统 2019-09-27 17:53:35 2274
如下图,记录要勾选Makeavaliabletoallprojects,然后查看是否加载出所有的第三方插件,会遇到插件安装后,运行还是找不到插件的问题,就是这里选择的不对,Pycharm总是会自己修改Baseinterperter路径,安装好后,在这里修改路径,看到有加载出来就可以了
系统 2019-09-27 17:53:27 2274
pythoneval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。函数定义:eval(expression,globals=None,locals=None)将字符串str当成有效的表达式来求值并返回计算结果。globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。python的全局名字空间存储在一个叫globals()的dict
系统 2019-09-27 17:53:18 2274
详细见我的个人博客:Ubuntu安装Python3.6Ubuntu16.04下默认系统自带Python2和Python3.5的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3.6那么我们知道编译安装源码包和系统默认包之间是没有任何影响的。一、下载tar包首先去Python官网下载Python3的源码包,网址:https://www.python.org/downloads/release/python-365/进去之后点击导
系统 2019-09-27 17:52:58 2274
logging库提供了两个可以用于日志滚动的class(可以参考https://docs.python.org/2/library/logging.handlers.html),一个是RotatingFileHandler,它主要是根据日志文件的大小进行滚动,另一个是TimeRotatingFileHandler,它主要是根据时间进行滚动。在实际应用中,我们通常根据时间进行滚动,因此,本文中主要介绍TimeRotaingFileHandler的使用方法(R
系统 2019-09-27 17:52:54 2274
数据驱动模式的测试好处相比普通模式的测试就显而易见了吧!使用数据驱动的模式,可以根据业务分解测试数据,只需定义变量,使用外部或者自定义的数据使其参数化,从而避免了使用之前测试脚本中固定的数据。可以将测试脚本与测试数据分离,使得测试脚本在不同数据集合下高度复用。不仅可以增加复杂条件场景的测试覆盖,还可以极大减少测试脚本的编写与维护工作。下面将使用Python下的数据驱动模式(ddt)库,结合unittest库以数据驱动模式创建百度搜索的测试。ddt库包含一组
系统 2019-09-27 17:52:26 2274
Python在读取文件内容时的路径问题,值得深究一下.我想讨论的重点还是在绝对路径上面.在这之前我们先看一下1:相对路径这张图演示了在相对路径下寻找查找指定文件.open('相对路径演示'\'相对路径示例'.txt)打开的是相对当前运行的程序所在目录。而我当前运行的程序相对位置在桌面.所以直接print(lines)可以看到这个结果2:绝对路径.绝对路径的查找方法就不演示了,相信每个人都会找到。但是我想讨论的是几个关于路径中的编码问题,相信这对初学者们有很
系统 2019-09-27 17:52:11 2274
和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。python一般内部赋值变量的话,都是传个引用
系统 2019-09-27 17:51:23 2274
大家好,并发编程今天开始进入第二篇。今天的内容会比较基础,主要是为了让新手也能无障碍地阅读,所以还是要再巩固下基础。学完了基础,你们也就能很顺畅地跟着我的思路理解以后的文章。本文目录学会使用函数创建多线程学会使用类创建多线程多线程:必学函数讲解经过总结,Python创建多线程主要有如下两种方法:函数类接下来,我们就来揭开多线程的神秘面纱。.学会使用函数创建多线程在Python3中,Python提供了一个内置模块threading.Thread,可以很方便地
系统 2019-09-27 17:49:58 2274
在python的BeautifulSoup4扩展库的使用过程中出现了TypeError:listindicesmustbeintegersorslices,notstr这个错误,这里就分析一下为什么会报错以及如何解决。这个错误的意思是'类型错误:list的索引必须是'integers'或者'slices'不能是'str'我出现错误的代码:#引入库frombs4importBeautifulSoup#读取页面soup=BeautifulSoup(open('
系统 2019-09-27 17:49:33 2274