Django实战(10):单元测试】的更多相关文章

Django 1.10中文文档: https://github.com/jhao104/django-chinese-doc 只要创建好 数据模型, Django 会自动为生成一套数据库抽象的API, 可以让你创建.检索.更新和删除对象.这篇文档阐述如何使用这些API. 关于模型查询所有选项的完整细节,请见 数据模型参考 . 在整个文档(以及参考)中,都将引用下面的模型,它是一个博客应用: from django.db import models class Blog(models.Model)…
Python单元测试简介及Django中的单元测试 单元测试负责对最小的软件设计单元(模块)进行验证,unittest是Python自带的单元测试框架. 单元测试与功能测试都是日常开发中必不可少的部分,本文演示了Python中unittest单元测试框架的基本使用. 来看一个简单的测试用例 定义一个类,简单的实现add.sub两个方法,并对其进行单元测试. 待测试的m1.py文件内容如下: class MyClass(object): """just a test case&…
本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载该系列翻译文章,也请联系博主. 第二部分传送门 第三部分传送门 第四部分传送门 3.2 模型和数据库Models and databases 3.2.2 查询操作making queries 3.3.8 会话sessions 目录 第一章.Django1.10文档组成结构 1.1 获取帮助 1.2…
最近工作闲,没事自学django,感觉这个最烦的就是各版本提供的api函数经常有变化,不是取消了就是参数没有了,网上搜到的帖子也没说明用的是什么版本的django,所以经常出现搬运过来的代码解决不了问题的情况,不过基本上遇到的坑不多,最坑的就是在提交post表单时弄了两天的CSRF验证失败问题,特此记录一下,我用的是django 1.10.3: 如果你不想使用这个功能,直接找到settings.py中的'django.middleware.csrf.CsrfViewMiddleware',这一行…
Django 1.10官方文档的入门教程已经翻译完毕,后续的部分将不会按照顺序进行翻译,而是挑重点的先翻译. 有兴趣的可以关注我的博客. 第一部分传送门 第二部分传送门 第四部分传送门 3.2 模型和数据库Models and databases 3.2.2 查询操作making queries 3.3.8 会话sessions 目录 2.7 第一个Django app,Part 5:测试 2.7.1 自动化测试介绍 2.7.2 基本的测试策略 2.7.3 编写我们的第一个测试程序 2.7.4…
测试版本:Django 1.10 问题:Django项目找不到静态资源 解决方法: 1.首先你需要在自己的app下面创建2个目录 static 和  templates 树形结构如下(DjangoProject 是我的项目名  blogs 是app名,要创建的目录在blogs下) DjangoProject/ ├── db.sqlite3 ├── manage.py ├── DjangoProject │   ├── __init__.py │   ├── settings.py │   ├──…
版本:Django 1.10.1(其他版本可能有不同的实现好解决办法) 参考官方文档:https://docs.djangoproject.com/en/1.10/topics/auth/customizing/ 在开发过程中,Django的用户管理模块能够给我们带来非常大的便利,但是Django的User模块所提供的字段太少,所以对User模块的扩展是必须的,下面结合我自己的开发过程中,使用Profile扩展User模块时遇到的问题以及解决的方法进行记录. 先看一段我根据官方文档最先开发完成的…
在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以通过运行以下命令来查看Django版本以及验证是否安装: python -m django --version 如果安装了Django,您应该将看到安装的版本.如果没有安装,你会得到一个错误,提示No module named django. 本教程是为Django 1.10和Python 3.4或…
本教程继续Part1.我们将设置数据库,创建您的第一个模型,并快速介绍Django的自动生成的管理网站. 数据库设置 现在,编辑mysite/settings.py.它是一个用模块级别变量表示Django配置的普通Python模块. Django的默认数据库是SQLite.如果你是数据库初学者,或者你只是想要试用一下Django,SQLite是最简单的选择. SQLite包含在Python中,所以你不需要另外安装其他任何东西.当然在你开始第一个真正的项目时,你可能想使用一个更健壮的数据库比如Po…
Django 数据库抽象API 描述了使用Django 查询来增删查改单个对象的方法. 然而,有时候你要获取的值需要根据一组对象聚合后才能得到. 这个主题指南描述了如何使用Django的查询来生成和返回聚合值的方法. 整篇指南我们都将引用以下模型.这些模型用来记录多个网上书店的库存. from django.db import models class Author(models.Model): name = models.CharField(max_length=100) age = mode…
在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以通过运行以下命令来查看Django版本以及验证是否安装: python -m django --version 如果安装了Django,您应该将看到安装的版本.如果没有安装,你会得到一个错误,提示No module named django. 本教程是为Django 1.10和Python 3.4或…
开发第一个Django应用,Part7 本教程上接Part6.将继续完成这个投票应用,本节将着重讲解如果用Django自动生成后台管理网站. 自定义管理表单 通过admin.site.register(Question)注册了Question后,Django可以自动构建一个默认的表单.如果您需要自定义管理表单的外观和功能.你可以在注册时通过配置来实现. 现在先来试试重新排序表单上的字段.只需要将admin.site.register(Question)所在行替换为: # polls/admin.…
1.说一下这本书,讲解的很细致,内容选取足够入门Django. 2.在学习这本书要注意的几点: <1>如果你想跟着敲这本书的代码必须要安装:Django版本1.10.1(当然也可以玩玩新版本Django2,中间有些部分需要自己goole来解决)和以下内容: sudo pip3 install django==1.10.1 sudo pip3 install pytz sudo pip3 install django-password-reset sudo pip3 install redis…
目录 第一章.Django1.10文档组成结构1.1 获取帮助1.2 文档的组织形式1.3 第一步1.4 模型层1.5 视图层1.6 模板层1.7 表单1.8 开发流程1.9 admin站点1.10 安全性1.11 国际化和本地化1.12 性能和优化1.13 Python兼容性1.14 地理框架1.15 常用WEB应用工具1.16 其它核心功能1.17 Django开源项目 第二章.起步2.1 Django速览 2.1.1 设计你的模型model 2.1.2 安装model 2.1.3 使用AP…
本教程上接Part5 .前面已经建立一个网页投票应用并且测试通过,现在主要讲述如何添加样式表和图片. 除由服务器生成的HTML文件外,网页应用一般还需要提供其它必要的文件——比如图片.JavaScript脚本和CSS样式表.这样才能为用户呈现出一个完整的网站. 在Django中,这些文件统称为“静态文件”. 如果是在小型项目中,这只是个小问题,因为你可以将它们放在网页服务器可以访问到的地方. 但是呢,在大一点的项目中——尤其是由多个应用组成的项目,处理每个应用提供的多个静态文件集合还是比较麻烦的…
本教程上接教程Part4. 前面已经建立一个网页投票应用,现在将为它创建一些自动化测试. 自动化测试简介 什么是自动化测试 测试是检查你的代码是否正常运行的行为.测试也分为不同的级别.有些测试可能是用于某个细节操作(比如特定的模型方法是否返回预期的值),而有些测试是检查软件的整体操作(比如站点上的一系列用户输入是否产生所需的结果).这和Part2中的测试是一样的,使用shell来检查方法的行为,或者运行应用程序并输入数据来检查它的行为. 自动化测试的不同之处就在于这些测试会由系统来帮你完成.你只…
本教程接Part3开始.继续网页投票应用程序,并将重点介绍简单的表单处理和精简代码. 一个简单表单 更新一下在上一个教程中编写的投票详细页面的模板polls/detail.html,让它包含一个HTML<form> 元素: # polls/templates/polls/detail.html <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ err…
本教程上接Django 1.10中文文档-第一个应用Part2-模型和管理站点.我们将继续开发网页投票这个应用,主要讲如何创建一个对用户开放的界面. 概览 视图是Django应用中的一“类”网页,它通常使用一个特定的函数提供服务,并且具有一个特定的模板.例如,在博客应用中,可能有以下视图: 博客首页 —— 显示最新发表的博客: 博客“详细”页面 —— 每博客的链接页面: 基于年份的归档页面 —— 显示特定年内所有月份发表过的博客: 基于月份的归档页面 —— 显示特定月份内每天发表过博客: 基于日…
https://docs.djangoproject.com/en/1.10/  官方文档,点我下载 推荐一个翻译django 1.8.2的网址: 推荐一个翻译django 1.10的博客:(着重推荐)…
django第10天 聚合查询 聚合函数的使用场景 单独使用:不分组,只查聚合结果 分组使用:按字段分组,可查分组字段与聚合结果 导入聚合函数 from django.db.models import Avg,Max,Min,Count,Sum 单独聚合查询:aggregate 语法: aggregate(别名 = 聚合函数('字段')) 规则: 1.QuerySet对象的方法 2.可以同时对多个字段进行聚合处理aggregate( 别名1=聚合函数1('字段1'),...,别名n=聚合函数n(…
<跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前两次我选用了跟原书作者一致的Python和Django版本,只要保证代码没“抄错”,基本不会有什么问题.第三次使用了更新的"Django==2.1.1",在路由urls.py配置中发现了不少问题,并一一改正. 写此博文,纪念自己的学习成果,并向作者qi sir致敬! 我的环境.版本:Cen…
Spring Boot实战之单元测试 本文介绍使用Spring测试框架提供的MockMvc对象,对Restful API进行单元测试 Spring测试框架提供MockMvc对象,可以在不需要客户端-服务端请求的情况下进行MVC测试,完全在服务端这边就可以执行Controller的请求,跟启动了测试服务器一样. 测试开始之前需要建立测试环境,setup方法被@Before修饰.通过MockMvcBuilders工具,使用WebApplicationContext对象作为参数,创建一个MockMvc…
Django框架10 /sweetalert插件.django事务和锁.中间件.django请求生命周期 目录 Django框架10 /sweetalert插件.django事务和锁.中间件.django请求生命周期 1. SweetAlert插件示例 2. django事务和锁 3. 中间件 4. 中间件应用/登录认证 5. django请求生命周期 1. SweetAlert插件示例 使用流程: 在github下载css.js文件放到项目静态文件夹中,https://github.com/L…
Django REST framework 单元测试 只是简单记录一下测试代码怎么写 环境 Win10 Python3.7 Django2.2 项目 参照官网 快速开始 写了一个 demo 测试 参照官网 测试 和 Django 的测试差不多 创建 tutorial/tests/tests.py import json from django.test import TestCase from rest_framework import status from rest_framework.te…
尽早进行单元测试(UnitTest)是比较好的做法,极端的情况甚至强调“测试先行”.现在我们已经有了第一个model类和Form类,是时候开始写测试代码了. Django支持python的单元测试(unit test)和文本测试(doc test),我们这里主要讨论单元测试的方式.这里不对单元测试的理论做过多的阐述,假设你已经熟悉了下列概念:test suite, test case, test/test action,  test data, assert等等. 在单元测试方面,Django继…
今天完成的功能是:用户忘记密码后,通过注册邮箱重置密码... 首先还是把前端页面准备好,把forgetpwd.html复制到templates目录下 编辑users.views.py,创建一个忘记密码的类 class ForgetPwdView(View): def get(self, request): return render(request, 'forgetpwd.html', {}) 配置一条url ... from users.views import ForgetPwdView u…
实战环境: 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运维老大为了在年底有所表现,要求运维部门同事尽快实现,当你接到这个任务时,有没有更快的解决方式? 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html 一.简单介绍 1.定义 ansible是新出现的自动化运维工具,基于Python开…
从这天开始我们需要用到前端源码,需要的朋友可以进行小额打赏(15元),打赏二维码在博客的右侧,打赏后可以凭截图联系463951510@qq.com,博主收到邮件后会立即回复发送所有源码素材,实战过程中遇到问题也可以互相探讨 1.把首页文件index.html复制到项目的templates目录下 2.在项目根目录下创建static文件夹,用于存放静态文件 3.把css\images\img\js目录复制到static目录下 4.编辑urls.py,添加一条url到首页,其中需要导入一个view,表…
项目说明 该电商项目类似于京东商城,主要模块有验证.用户.第三方登录.首页广告.商品.购物车.订单.支付以及后台管理系统. 项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用jinja2模板引擎实现,局部刷新采用vue.js实现. 项目运行机制如下: 项目搭建 工程创建 项目使用码云进行源代码版本控制,在码云创建好后直接克隆到本地即可,然后在项目根目录下执行virtualenv venv创建虚拟环境,source venv/bin/activat激活虚拟环境后,安装dja…
前面的章节我们完成了任务管理主要功能的开发及单元测试编写,可如何知道单元测试效果怎么样呢?测试充分吗?还有没有没有测到的地方呢? 本章节我们介绍一个统计测试代码覆盖率的利器Coverage,Coverage.py (以下简称 Coverage)是 Python 测试界最为流行的一个库之一,用来统计测试覆盖率.测试覆盖率可以从一个角度衡量代码的质量,覆盖率越高,说明测试越充分,代码出现 bug 的几率相对也就越小.当然需要明确的是,测试覆盖率仅仅只是衡量代码质量的一个角度,即是否有代码未经过单元测…