目录一、数据库的配置二、DjangoORM语法1.模型之间的三种关系:一对一,一对多,多对多。2.模型常用的字段类型参数3.Field重要参数4.表(模型)的创建5.单表操作1.创建记录2.修改记录3.删除记录4.查询记录6.多表操作(多对多关系)7.聚合查询和分组查询8.F查询和Q查询9.QuerySet的惰性机制一、数据库的配置1django默认支持sqlite,mysql,oracle,postgresql数据库。<1>sqlitedjango默认使
系统 2019-09-27 17:50:11 2390
自动化一直是测试圈中的热聊,也是大家追求的技术方向。在测试中,往往回归测试也是测试人员的“痛点”。对于迭代慢、变更少的功能,就能用上自动化来替代人工回归,减轻工作量。问题在分享环境搭建之前,先抛出我的一个疑问吧。app启用时,分不同的场景:1.首次安装启用,有欢迎页;2.非首次启用,直接进入到登录页;3.配置了推荐展示时,启用app,会先展示推荐内容,才进入到登录页。不同场景对应的activity都是不同的,我目前处理办法是,写了个输入函数,加了个if判断
系统 2019-09-27 17:49:53 2390
爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能三种爬虫方式的对比。抓取方式性能使用难度正则表达式快困难Lxml快简单BeautifulSoup慢简单这样一比较我我选择了Lxml(xpath)的方式了,虽然有三种方式,但肯定是要选择最好的方式来爬虫,这个道理大家都懂,另外有兴趣的朋友也可以去了解另外两种爬虫方式!好了现在来讲讲xpath由于Xpath属于lxml模块
系统 2019-09-27 17:49:53 2390
函数名说明A.capitalize()将字符串A整体首字母大写,其他小写A.title()将字符串A单词首字母大写,其他小写A.upper()将字符串A中的字母小写换成大写A.lower()将字符串A中的字母大写换成小写A.swapcase()将字符串A中的字母大小写互换字符串首字母大写和单词首字母大写a='iloveChian'print(a.capitalize())#首字母大写print(a.title())#标题模式全部大写,全部小写a='Ilov
系统 2019-09-27 17:49:32 2390
现在有一个员工字典,类似这样的结构staff_dic={"name":"灭霸","age":10000,"hobbies":["打响指","扣脚"]}假设我们要给员工添加爱好信息,但是我们不知道hobby这个键存不存在,我们通常的做法是分为三步:1)从字典中取到hobbies对应的值,如果没有hobbies这个键,则设置这个值为空列表2)对这个值进行更新操作3)将更新后的值赋值回字典hobbies=staff_dic.get("hobby",[])hobb
系统 2019-09-27 17:49:13 2390
假设有2个有序列表l1、l2,如何效率比较高的将2个list合并并保持有序状态,这里默认排序是正序。思路是比较简单的,无非是依次比较l1和l2头部第一个元素,将比较小的放在一个新的列表中,以此类推,直到所有的元素都被放到新的列表中。考虑2个列表l1=[2],l2=[1],如何将他们合并呢?(注意:下面实现会改变l1和l2本来的值)复制代码代码如下:defsignle_merge_sort(l1,l2):tmp=[]ifl1[0]
系统 2019-09-27 17:48:25 2390
1.while循环while--关键字(死循环)基本结构if条件:结果while条件:循环体whileTrue:#真执行print("A")print("B")print("C")print("D")print("E")print("F")print("G")whileFalse:#假不执行print("A")print("B")print("C")print("D")print("E")print("F")print("G")print(1)whileF
系统 2019-09-27 17:48:23 2390
一、概述:Python的GC模块主要运用了“引用计数”(referencecounting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(markandsweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generationcollection)以空间换取时间来进一步提高垃圾回收的效率。二、引用计数在Python中,大多数对象的生命周期都是通过对象的引用计数来管理的。从广义上来讲,引用计数也是一种垃圾收集机制,而且也是一种
系统 2019-09-27 17:38:39 2390
1、块级作用域想想此时运行下面的程序会有输出吗?执行会成功吗?#块级作用域if1==1:name="lzl"print(name)foriinrange(10):age=iprint(age)我们先看下执行结果C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.pylzl9Processfinishedwithexitcode0代码执行成功,没有问题;在Java/C#中,执行上面的代码会提示name,a
系统 2019-09-27 17:38:07 2390
本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考。具体实现方法如下:importrandomdefpartition(list_object,start,end):random_choice=start#random.choice(range(start,end+1))#把这里的start改成random()效率会更高些x=list_object[random_choice]i=startj=endwhileTrue:whilelist_
系统 2019-09-27 17:56:21 2389
前言zabbix是个非常强大的监控工具,可以监控linux和windows的服务器数据,也可以通过自定义key来扩展默认的监控项,但是自带的邮件报警提供的信息却不太友善。本文想通过自定脚本的方式,实现在报警邮件的同时发送对应的图像和url连接。步骤如下:1、编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。vim/etc/zabbix/zabbix_server.confAlertSc
系统 2019-09-27 17:56:16 2389
SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。MIT许可下发行。其github主页我自己修改了上文链接中的python代码
系统 2019-09-27 17:54:43 2389
简介介绍一下在Python安装包的时候怎么能更改源,让下载速度提升。这里介绍的是通过conda进行安装的更改源方法。环境介绍系统环境:Windows10Python版本:Python3.5必备环境:Anaconda已经安装进入Anaconda3中的AnacondaPrompt程序在Windows程序中搜索“AnacondaPrompt”,右键以管理员运行。查看现有源在窗口中输入下面命令,用来查看现有的源condaconfig--showchannels增加
系统 2019-09-27 17:54:38 2389
经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如:修改前:[脚本之家]MacOSXforUnixGeeks[www.jb51.net].mobi修改后:MacOSXforUnixGeeks.mobipython代码如下:复制代码代码如下:importosimportredefrename_dir(dir,regex,f):ifnotos.path.isdir(
系统 2019-09-27 17:54:13 2389
itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息。比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬朋友圈做数据分析…本文只是简单实现聊天机器人,想了解更多关于itchat的用法请参照:https://itchat.readthedocs.io/zh/latest/安装pipinstallitchat登录itchat.auto_login(hotReload=True)执
系统 2019-09-27 17:54:03 2389