首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django 1.10中文文档-第一个应用Part5-测试

有些测试可能是用于某个细节操作(比如特定的模型方法是否返回预期的值),而有些测试是检查软件的整体操作(比如站点上的一系列用户输入是否产生所需的结果)。...测试可以发现并防止问题 将测试看做只是开发中消极的一面是错误的,没有测试,应用程序的目的或预期行为可能是相当不透明的。即使这是你自己的代码,你也会发现自己正在都不知道它在做什么。...Jacob Kaplan-Moss,Django最初的几个开发者之一,说过“不具有测试程序的代码是设计上的错误”。...并验证latest_question_list为空。注意django.test.TestCase类提供一些额外的断言方法。...诸如此类,事实上,我们是在用测试,模拟站点上的管理员输入和用户体验,检查系统的每一个状态变化,发布的是预期的结果。

1K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    django 1.8 官方文档翻译:13-12 验证器

    =[validate_even]) 由于值在验证器运行之前会转化为Python,你可以在表单上使用相同的验证器: from django import forms class MyForm(forms.Form...验证器如何运行 关于验证器如何在表单中运行,详见表单验证 。关于它们如何在模型中运行,详见 验证对象。...要注意验证器不会在你保存模型时自动运行,但是如果你使用ModelForm,它会在任何你表单包含的字段上运行你的验证器。关于模型验证器如何和表单交互,详见ModelForm 文档。...内建的验证器 django.core.validators模块包含了一系列的可调用验证器,用于模型和表单字段。它们在内部使用,但是也可以用在你自己的字段上。...message 验证失败时ValidationError所使用的错误信息。默认为"Enter a valid value"。 code 验证失败时ValidationError所使用的错误代码。

    1.7K30

    基于Django的电子商务网站开发(连载40)

    最典型的一个例子是在文本框中输入一段JavaScript语句,然后在页面显示时候这个JavaScript语句被激活执行。...4.5 防止SQL注入 在百度百科中是这样定义SQL注入的:“所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。...具体来说,它是利用现有应用程序,将(恶意)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句...比如先前的很多影视网站泄露VIP会员密码大多就是通过Web表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。”...var是用户输入的字符,在goods-testcase005中输入的var是‘%’,如果程序没有进行任何处理,这个SQL语句就变成了select * from table where title like

    77830

    django 1.8 官方文档翻译: 1-2-5 编写你的第一个Django应用,第5部分

    Jacob Kaplan-Moss,Django最初的几个开发者之一,说过“不具有测试程序的代码是设计上的错误。”...django.test.TestCase子类,它具有一个方法可以创建一个pub_date在未来的Question实例。...并验证latest_question_list为空。注意django.test.TestCase类提供一些额外的断言方法。...事实上,我们是在用测试模拟站点上的管理员输入和用户体验,检查针对系统每一个状态和状态的新变化,发布的是预期的结果。...在最坏的情况下,在你的开发过程中,你会发现许多测试现在变得冗余。 即使这样,也不是问题;对测试来说,冗余是一件好 事。 只要你的测试被合理地组织,它们就不会变得难以管理。

    40020

    Django学习-第十三讲(下):表单(一)forms.form、forms.modelform

    1. html表单和django中的表单的区别 HTML中的表单: 单纯从前端的html来说,表单是用来提交数据给服务器的,不管后台的服务器用的是Django还是PHP语言还是其他语言。...Django中的表单 Django中的表单丰富了传统的HTML语言中的表单。在Django中的表单,主要做以下两件事 渲染表单模板。 表单验证数据是否合法。...对某个字段进行自定义的验证方式是,定义一个方法,这个方法的名字定义规则是:clean_fieldname。如果验证失败,那么就抛出一个验证错误。...2.4.django表单提取错误信息 如果验证失败了,那么有一些错误信息是我们需要传给前端的。...3. django表单的 Modelform 大家在写表单的时候,会发现表单中的Field和模型中的Field基本上是一模一样的,而且表单中需要验证的数据,也就是我们模型中需要保存的。

    3.3K40

    Django内置的通用类视图及实例

    get_context_data(**kwargs):返回显示对象的上下文数据.这个方法的基本实现需要object属性被视图赋值(即使是None).它返回一个包含这些内容的字典: object:这个视图显示的对象...显示表单的视图,验证错误时,重新显示表单并显示错误信息;成功时,重定向到一个新的URL....方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类).

    2.9K40

    ChatGPT与代码扫描

    3.在Account类中,应该添加对accountId和initialBalance参数的输入验证,以确保它们不为空。...4.在Account类中,应该添加对amount参数的输入验证,以确保它大于0。...代码中使用了合适的异常处理和参数验证,确保了代码的健壮性和可靠性。因此,从编码规范的角度来看,提供的代码是符合标准的。 结论 使用ChatGPT优化代码需要使用多次。...GPT回答 在提供的代码中存在一些潜在的缺陷: Account类的构造函数中存在的参数验证逻辑,虽然有助于确保对象的有效性,但在实际应用中可能需要更复杂的验证逻辑,例如验证initialBalance...以下是解决上述问题的代码的更新版本: class TestLoginActionAPI(unittest.TestCase): def setUp(self): self.base_url

    9410

    Django(1)初识Django「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。...模型:数据存取层,处理与数据相关的所有事物,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。 模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。...视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁 Django的主要目的是简便、快速地开发数据库驱动的网站。它强调代码复用,多个组件可以很方便地以插件形式服务于整个框架。...URL设计:开发者可以设计任意的URL(网站地址),而且还支持使用正则表达式设计 模板系统:提供可扩展的模板语言,模板之间具有可继承性 表单处理:可以生成各种表单模型,而且表单具有有效性检验功能 Cache...()`,可以处理各种非法页面参数,防止异常 Templates(模板):提高Engine.get_default()在第三方模块的用途 Vaildators(验证器):不允许CharField及其子类的表单输入为空

    2.8K20

    python-Django-表单验证(一)

    表单验证是Web开发中的一个重要方面,它有助于确保用户输入的数据符合预期并且是安全的。Django表单提供了一种简单而强大的方法来验证用户提交的表单数据。...表单验证概述表单验证是一种确保用户输入的数据满足特定要求的技术。例如,我们可以验证电子邮件地址是否符合正确的格式、密码是否足够强壮或是否存在特定的字符或字符串。...表单验证还可以确保表单数据是安全的,例如防止SQL注入或跨站点脚本攻击。在Django中,我们可以使用表单类中提供的验证器来验证用户提交的表单数据。...字段验证器Django表单提供了许多内置的字段验证器,我们也可以编写自定义验证器来确保表单数据的正确性。下面是一些常用的内置验证器:required:确保字段不为空。...我们还使用了内置的email验证器来确保该字段值是一个有效的电子邮件地址。

    97941

    如何判断目标站点是否为Django开发

    像这样的页面,就可以确定是Django 访问一个包含表单的页面,表单中会有一个隐藏的input,用来做CSRF检测的Token,其名字比较独特,csrfmiddlewaretoken: 遇到有这个名字的表单...page=2 而不会是 /page/2/ ,表单输入框的id通常是 id_xxxx ,中文的情况下还会有一些特定的翻译语句,如 请上传一张有效的图片。您所上传的文件不是图片或者是已损坏的图片。...、 CSRF验证失败. 相应中断. 等。 通过一些第三方模块的特点判断 Django之所以好用,因为其代码耦合性很低,所以有丰富的第三方模块可以直接使用。...比如,django-rest-framework默认包含一个登陆页面, /api-auth/login/ : 再比如,django-simple-captcha生成的验证码会包含一个名字是 captcha..._0 ,值为40位hex的隐藏输入框。

    1.4K80

    django 1.8 官方文档翻译: 5-1-1 使用表单

    除非你计划构建的网站和应用只是发布内容而不接受访问者的输入,否则你将需要理解并使用表单。 Django 提供广泛的工具和库来帮助你构建表单来接收网站访问者的输入,然后处理以及响应输入。...Django 的Form 类 表单系统的核心部分是Django 的Form 类。...首先,它在HTML 的 上放置一个maxlength="100" (这样浏览器将在第一时间阻止用户输入多于这个数目的字符)。...HTML5 输入类型和浏览器验证 如果你的表单包含URLField、EmailField 和其它整数字段类似,Django 将使用url、email和 number 这样的HTML5 输入类型。...默认情况下,浏览器可能会对这些字段进行它们自身的验证,这些验证可能比Django 的验证更严格。

    4.3K20

    Django内置的通用类视图CBV及示例

    get_context_data(**kwargs):返回显示对象的上下文数据.这个方法的基本实现需要object属性被视图赋值(即使是None).它返回一个包含这些内容的字典: object:这个视图显示的对象...显示表单的视图,验证错误时,重新显示表单并显示错误信息;成功时,重定向到一个新的URL....,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示用于创建对象的表单的视图,通过验证错误信息重新显示视图,并且保存对象....显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类).

    3.2K10

    ApacheCN PythonWeb 译文集 20211028 更新

    二、开始我们的头条新闻项目 三、在我们的项目中使用模板 四、我们项目的用户输入 五、改善头条项目的用户体验 六、构建交互式犯罪地图 七、将谷歌地图添加到我们的犯罪地图项目中 八、在我们的犯罪地图项目中验证用户输入...、Flask Web 开发即时入门 Flask 框架学习手册 零、序言 一、创建第一个 Flask 应用 二、使用 SQLAlchemy 和关系数据库 三、模板和视图 四、表单与验证 五、用户认证 六...1.1 测试和调试 零、序言 一、Django 测试概述 二、这个代码有效吗?...调试页面 八、问题隐藏时:获取更多信息 九、当你甚至不知道记录什么时:使用调试器 十、当一切都失败时:寻求外部帮助 十一、何时上线:转入生产 Django 设计模式最佳实践 零、前言 一、Django...在网络上的地位 二、创建 Django 项目 三、Django 你好世界 四、使用模板 五、与模型协作 六、通过查询集获取模型数据 七、使用 Django 表单 八、使用 CBV 提高生产力 九、使用会话

    2.8K20

    Django实战-信息资讯-登录验证

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...本次登录采用 django 自带 form 表单验证。登录需要验证的字段有手机号和密码。...前篇的生鲜电商采用的是直接处理 POST 请求过来的数据,判断字段是否都存在,而没有进行字段的再一次验证,比如对手机号码的长度要求和输入的是否为正确的手机号。...① 对表单验证错误消息提示 在编写 form 表单验证之前,可以先定义一个验证错误消息提示的 mixin 类。这样就给需要验证的字段提供了前端页面的错误提示。...return redirect(reverse("xfzauth:login")) else: messages.info(request, "表单验证失败!")

    68020

    Django使用普通表单、Form、以及modelForm操作数据库方式总结

    Django使用普通表单、Form、以及modelForm操作数据库主要应用于增删该查的情景下,流程通用如下,只是实现方式不一样: 进入填写表单页面; 在表单页面填写信息,并提交...; 表单数据验证 验证成功,和数据库进行交互(增删改查); 验证成功,页面提示表单填写失败; 一、Django使用普通表单操作数据库 1、html代码: 表单操作数据库 和方法一的使用普通表单相比,使用django的Form表单更方便快捷地生成前端form表单以及对字段的校验规则; from django.shortcuts...> 具体Form在前端展示以及校验方式、以及操作model的方式(增删改查)不展开,此处主要说明方式 三、Django使用插件modelForm表单操作数据库 和方法二的使用表单...Form相比,modelForm具有Form中所有的验证钩子,使用django的modelForm表单不需要重新定义Form,比较方便。

    2.7K30

    Django的form,model自定制

    一、Form组件原理: django框架提供了一个form类,来处理web开发中的表单相关事项。...众所周知,form最常做的是对用户输入的内容进行验证,为此django的forms类提供了全面的内容验证和保留用户上次输入数据的支持。...form组件有2大大功能   对用户提交的内容进行验证(from表单/Ajax)   保留用户上次输入的内容 form组件验证的流程 obj=Form()form组件类实例化时找到类中所有的字段 把这些字段...():,K是user,pwd,v是正则表达式 每次循环通过self.fields字典的键, 一个一个的去get前端POST提交的数据 得到用户输入数据;input_value= request.post.get...(‘k’)(所以form字段的名称,要和前端的name属性匹配) 每次拿到用户输入的数据 (input_value)和进行正则表达式匹配; 匹配成功flag=True 匹配失败flag=falsh,最后

    2.5K10

    关于“Python”的核心知识点整理大全58

    我们还导入了默认表单UserCreationForm。在函数register() 中,我们检查要响应的是否是POST请求。...如果响应的是POST请求,我们就根据提交的数据创建一个UserCreationForm实例(见2), 并检查这些数据是否有效:就这里而言,是用户名未包含非法字符,输入的两个密码相同,以及 用户没有试图做恶意的事情...如果提交的数据有效,我们就调用表单的方法save(),将用户名和密码的散列值保存到数据 库中(见4)。方法save()返回新创建的用户对象,我们将其存储在new_user中。...用户注册时,被要求输入密码两次;由于 表单是有效的,我们知道输入的这两个密码是相同的,因此可以使用其中任何一个。在这里,我 们从表单的POST数据中获取与键'password1'相关联的值。...如果用户名和密码无误,方法 authenticate()将返回一个通过了身份验证的用户对象,而我们将其存储在authenticated_user 中。

    12510

    Django 单元测试笔记

    引言   关于单元测试的基本知识这里不再讲述,简单一句话:单元测试是用一段代码去测试另一段代码。...最常用的框架是unittest,这是python的单元测试框架,而django单元测试框架test.TestCase是继承了python的unittest.TestCase。...TestCase也是对unittest.TestCase进行了进一步的封装,省去了很多重复要写的代码,比如定义一个self.client、Email Service提供了方便的邮件发送的方法。...众所周知django模式是MTV模型,其中T是模板也就是HTML文件,对于HTML来说,没有可测的代码,基本上写死,即使有,并不是重要的逻辑代码。...方式 单元测试进行的两种方式: 1.使用django框架自带的tests.py文件进行单元测试; 2.自定义创建test.py文件; 这两种是一样,只是运行时所执行目录不一样。

    32110

    37.Django1.11.6文档

    null纯粹是数据库范畴,指数据库中字段内容是否允许为空,而 blank 是表单数据输入验证范畴的。 如果一个字段的blank=True,表单的验证将允              许输入一个空值。 ...验证给定值是有效的URL。...value不能保证是有效的输入,因此子类的实现应该防御性地编程。 在Django更改1.10: 在旧版本中,此方法是名为_format_value()的私有API。 ...表单域默认清除 让我们首先创建一个自定义的表单字段,它验证其输入是一个由逗号分隔的邮件地址组成的字符串。 ...如果模型上的相应字段有选择集,则提供给表单的选项必须是这些选择的有效子集,否则,在保存模型本身之前验证模型本身时,表单提交将失败并显示ValidationError 。

    24.4K80
    领券