这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习。

一、开发投票系统

1、参考官网文档,创建投票系统。

https://docs.djangoproject.com/en/1.11/intro/tutorial01/

在创建投票系统之前,要确认自己安装的Django和官网的文档是一致的。

====================

win 10

Python 3.6.2

Django 1.11.3

Pycharm编译器

====================

2、创建项目PollsWeb并创建Polls应用

打开Polls/setting.py文件添加:

Polls是我们刚刚创建的应用,bootstrap3是我们另外下载的前端框架

最终目录结构:

3、创建模型

一般web开发先设计数据库,数据库设计好了,项目就完成一大半了,可见数据库的重要性。

打开Polls/models.py编写如下:

执行数据库表生成与同步

4、admin管理

Django提供了强大的后台管理,对于web应用来说,后台必不可少,例如当前投票系统,如何添加问题与问题选项?直接操作数据库添加,显然麻烦,不方便,也不安全。所以,管理后台就可以完成这样的工作了。

打开Polls/admin.py文件,编写如下内容:

当前脚本的作用就是将模型(数据库表)交由admin后台管理,运行web容器:

首先我们先去创建一个超级管理员用户,

创建完超级用户,就可以去运行我们的容器了:

登录我们的后台:127.0.0.1:8000/admin

输入我们刚才创建的登录名和密码,

点击增加按钮添加问题:

点击save保存

5、 编写视图

视图起着承前启后的作用,前是指前端页面,后是指后台数据库。将数据库表中的内容查询出来显示到页面上。

编写Polls/views.py文件:

6、配置URL

url是一个请求配置文件,页面中的请求转交给由哪个函数处理,由该文件决定。

首先配置Polls/urls.py,这个文件需要自己创建,在Polls下创建一个urls.py的文件:

编写完,就接着编辑总的urls。打开PollWeb/urls.py文件:

7、创建模板

模板就是前段页面,用来将数据显示到web页面上。

首先创建Polls/templates/polls/目录,分别在该目录下创建index.html、detail.html和result.html文件

index.html

result.html

detail.html

8、系统功能展示

http://127.0.0.1:8000/polls/现在我们可以尝试一下访问我们的页面了:

二、开发投票系统接口

虽然投票系统的功能已经开发完成,但我们并没有开发专门的接口,在当前的投票系统中,在我们调用一个get或post请求时,系统会返回整个页面,并且把测试连同页面一起返回

2.1、改造投票系统接口

例如,当我们要调用所有问题的接口时(test_get.py)

运行程序,得到如下结果:

而特有的接口应该返回的是数据,而不是整个页面;而数据一般格式为数组、字典或者Json格式

所以,需要对视图层(../Polls/views.py)进行改造,使其提供接口,并单纯的返回数据

我们先对前面两个进行接口改造,其实这里改造还有很多不完整的,例如单个问题的所有选项的接口,接受的参数question_id如果为空,应该提示参数错误,如果查询不到相关问题,应该提示查询结果为空,如果传的类型不为数字,应该提示,类型错误。

再次执行test_get.py文件:

这次得到的就是json类型的数据了。不过,返回值对中文进行了Unicode的编码。这里提供个小技巧,将其转换成中文。

http://127.0.0.1:8000/polls/在Google浏览器中打开,,我们会看到上面那些返回值

按一下键盘上的F12,就可以打开控制台,根据上面圈出来的点击,就可以看到中文了

2.2、编写接口文档

编写接口文档也是非常重要的一个环节,因为我们编写的接口时需要给别人调用的,那么别人如何知道我们的接口是用get还是post调用呢?参数都有哪些?这时候就要参考接口文档了

1.获取所有问题

url

http://127.0.0.1:8000/polls/

请求类型

get

需要参数

返回格式

json

返回结果

{1: "国庆干什么", 2: "中秋干什么", 3: "暑假干什么", 4: "开学干什么"}

错误类型

暂无

2.获取单个问题的所有选项

url

http://127.0.0.1:8000/polls/

请求类型

get

需要参数

question_id

返回格式

json

返回结果

{1: "在家", 2: "工作实习", 3: "上网"}

错误类型

暂无

大概接口文档就是这么写的,对于这份文档,就方便了后面我们如何做接口测试了

3、对于编写接口测试来说,我们会涉及到两个技术。一个是unittest单元测试框架和request库

接口的代码就这样完成了,最后我们看一下返回的结果:

到这里,我们的系统开发和接口测试就已基本完成了。这也是我跟虫师教程中得到的笔记。

Python 开发与接口测试学习笔记的更多相关文章

  1. $《利用Python进行数据分析》学习笔记系列——IPython

    本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...

  2. 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记

    <疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...

  3. 基于python的接口测试学习笔记一(初出茅庐)

    第一次写博客笔记,讲一下近来学习的接口自动化测试.网上查阅了相关资料,最后决定使用python语言写接口测试,使用的是python的第三方库requests.虽然python本身标准库中的 urlli ...

  4. ASP.Net开发基础温故知新学习笔记

    申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...

  5. lua游戏开发实践指南学习笔记1

    本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1.  语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...

  6. Windows驱动开发工具 WDK 学习笔记(1)

    目标:能够把电脑当作一个集成有高性能处理器的开发板用起来,当然,还自带了一个高级的操作系统Windows(必须的).总之,就是在一个带了操作系统的高性能开发板上的驱动程序开发. 性质:纯属业余爱好 1 ...

  7. python的文件处理学习笔记

    python的文件处理函数是open() 以下主要是关于这个函数的一些学习笔记 1.文件处理离不开编码 要注意的是文件打开时的编码和文件保存时的编码的统一,这样才能保证你打开的文件不会存在乱码 总结: ...

  8. Python框架之Django学习笔记(十七)

    Django框架之表单(续二) 今天的这篇博客将是Django学习笔记博客的最后一篇,基本每周最少一篇的Django框架学习,坚持到今天也实属不易,当然了,这个框架的学习仅仅是Django框架的基础部 ...

  9. 【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发

    微软的Office系列办公套件从Office 2007开始首次引入了Ribbon导航菜单模式,其将一系列相关的功能集成在一个个Ribbon中,便于集中管理.操作.这种Ribbon是高度可定制的,用户可 ...

随机推荐

  1. React + Node 单页应用「二」OAuth 2.0 授权认证 & GitHub 授权实践

    关于项目 项目地址 预览地址 记录最近做的一个 demo,前端使用 React,用 React Router 实现前端路由,Koa 2 搭建 API Server, 最后通过 Nginx 做请求转发. ...

  2. DNA序列对齐问题

    问题描述: 该问题在算法导论中引申自求解两个DNA序列相似度的问题. 可以从很多角度定义两个DNA序列的相似度,其中有一种定义方法就是通过序列对齐的方式来定义其相似度. 给定两个DNA序列A和B,对齐 ...

  3. 机器学习,安装python的支持包

    windows10,64位: 以下命令行安装均在python目录下,对应的whl文件也被我拷贝到python目录下: http://www.lfd.uci.edu/~gohlke/pythonlibs ...

  4. HTML出现错位的问题

    引起网页HTML显示错位的几个常见问题: 1.在HTML代码中缺失元素的开始或结束标签 2.CSS设置中对边界.填充或边框的设置超出了父级容器的范围 3.CSS和HTML的编码不统一 4.浏览器的解析 ...

  5. 用C#操作IIS创建虚拟目录和网站

    #region CreateWebsite 添加网站 public string CreateWebSite(string serverID, string serverComment, string ...

  6. C语言的第一个程序 “hello world!”

    1,C语言的简介        C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. ...

  7. JavaScript数据可视化编程学习(一)Flotr2,包含简单的,柱状图,折线图,饼图,散点图

    一.基础柱状图 二.基础的折线图 三.基础的饼图 四.基础的散点图 一.基础柱状图 如果你还没有想好你的数据用什么类型的图表来展示你的数据,你应该首先考虑是否可以做成柱状图.柱状图可以表示数据的变化过 ...

  8. 软件测试博客日记Day02-11.16日 —— 赵天宇 —— 禅道的使用和配置

    禅道 1. 安装 1. 进入禅道的官方下载地址:http://www.zentao.net/download/80053.html 2. 下载禅道开源版本. 3. 正常安装,注意一定要放在根目录下. ...

  9. javascript内存管理(堆和栈)和javascript运行机制

    内存基本概念 内存的生命周期: 1.分配所需的内存 2.内存的读与写 3.不需要时将其释放 所有语言的内存生命周期都基本一致,不同的是最后一步在低级语言中很清晰,但是在像JavaScript 等高级语 ...

  10. pyqt的基本组件

    转载 熟悉常用的窗口组件: 1 按钮类 QPushButton 普通按钮 QToolButton 工具按钮:通常在工具栏使用 QRadioButton 单选框 QCheckBox 复选框 QComma ...