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

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

考虑一下Django 的Admin 站点,不同类型的大量数据项需要在一个表单中准备好、渲染成HTML、使用一个方便的界面编辑、返回给服务器、验证并清除,然后保存或者向后继续处理。...,因为使得用户可以不只是阅读一个网站,而且可以给网站返回信息。...这叫做”绑定数据至表单“(现在是一个绑定的表单)。 我们调用表单的is_valid()方法;如果它不为True,我们将带着这个表单返回到模板。...字段的数据 不管表单提交的是什么数据,一旦通过调用is_valid() 成功验证(is_valid() 返回True),验证后的表单数据将位于form.cleaned_data 字典中。...直到现在,我们没有担心如何展示错误信息,因为Django 已经帮我们处理好。在下面的例子中,我们将自己处理每个字段的错误表单整体的各种错误

4.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

37.Django1.11.6文档

由于模板语言没有提供异常处理,任何从过滤器中抛出的异常都将会显示为服务器错误。 因此,如果有合理的值可以返回,过滤器应该避免抛出异常。...Form 实例的数据没有办法修改。 Form实例一旦创建,你应该将它的数据视为不可变的,无论它有没有数据。 (2)使用表单验证数据 让我们试下非法的数据。...这个方法不返回任何东西且不应该改变任何值。 当你遇到不可以或不想放在validator 中的验证逻辑时,应该覆盖来处理验证。...因为字段的验证方法在调用clean() 时会运行,你还可以访问表单的errors 属性,包含验证每个字段时的所有错误。...所以你需要记住这个事实,你需要验证的字段可能没有通过初试的字段检查。 在这一步,有两种方法报告错误。 最简单的方法是在表单的顶端显示错误

24.2K80

django 1.8 官方文档翻译:5-1-2 表单API

表单 API 关于这篇文档 这篇文档讲述Django 表单API 的详细细节。你应该先阅读表单简介。 绑定的表单和未绑定的表单 表单要么是绑定的,要么是未绑定的。...如果是绑定的,那么它能够验证数据,并渲染表单及其数据成HTML。 如果是未绑定的,那么它不能够完成验证(因为没有验证的数据!),但是仍然能渲染空白的表单成HTML。...Form 实例的数据没有办法修改。表单实例一旦创建,你应该将它的数据视为不可变的,无论它有没有数据。 使用表单验证数据 Form....这些值只显示在没有绑定的表单中,即使没有提供特定值它们也不会作为后备的值。 注意,如果字段有定义initial, 而实例化表单时也提供initial,那么后面的initial 将优先。...默认情况下,表单使用django.forms.utils.ErrorList 来格式化验证时的错误

2.7K30

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

get_context_data(**kwargs):返回显示对象的上下文数据.这个方法的基本实现需要object属性被视图赋值(即使是None).返回一个包含这些内容的字典: object:这个视图显示的对象...显示表单的视图,验证错误时,重新显示表单并显示错误信息;成功时,重定向到一个新的URL....方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...get_context_data(**kwargs):返回显示对象的上下文数据. 4.CreateView ? 显示用于创建对象的表单的视图,通过验证错误信息重新显示视图,并且保存对象....显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类).

2.9K40

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

get_context_data(**kwargs):返回显示对象的上下文数据.这个方法的基本实现需要object属性被视图赋值(即使是None).返回一个包含这些内容的字典: object:这个视图显示的对象...显示表单的视图,验证错误时,重新显示表单并显示错误信息;成功时,重定向到一个新的URL....方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...显示用于创建对象的表单的视图,通过验证错误信息重新显示视图,并且保存对象....显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类).

3.2K10

Django-form表单

这个时候,让Django 来为我们完成大部分工作是很容易的。 在Django 中构建一个表单 Form 类 我们已经计划好了我们的 HTML 表单应该呈现的样子。...它还意味着当Django 收到浏览器发送过来的表单时,它将验证数据的长度。 Form 的实例具有一个is_valid() 方法,它为所有的字段运行验证的程序。...这叫做”绑定数据至表单“(现在是一个绑定的表单)。 我们调用表单的is_valid()方法;如果它不为True,我们将带着这个表单返回到模板。...Form 类详解 绑定的和未绑定的表单实例 绑定的和未绑定的表单 之间的区别非常重要: 未绑定的表单没有关联的数据。...字段的数据 不管表单提交的是什么数据,一旦通过调用is_valid() 成功验证(is_valid() 返回True),验证后的表单数据将位于form.cleaned_data 字典中。

3.9K70

Django学习笔记之Django Form表单详解

这个时候,让Django 来为我们完成大部分工作是很容易的。 so,两个突出优点:     1 form表单提交时,数据出现错误返回的页面中仍可以保留之前输入的数据。    ...2 方便地限制字段条件 回到顶部 在Django 中构建一个表单 Form 类 我们已经计划好了我们的 HTML 表单应该呈现的样子。...这叫做”绑定数据至表单“(现在是一个绑定的表单)。 我们调用表单的is_valid()方法;如果它不为True,我们将带着这个表单返回到模板。...回到顶部 Django Form 类详解 绑定的和未绑定的表单实例 绑定的和未绑定的表单 之间的区别非常重要: 未绑定的表单没有关联的数据。当渲染给用户时,它将为空或包含默认的值。...字段的数据 不管表单提交的是什么数据,一旦通过调用is_valid() 成功验证(is_valid() 返回True),验证后的表单数据将位于form.cleaned_data 字典中。

4.5K10

Django form 里 password1 password2 验证先后探索(注册表单

负责以正确的顺序运行to_python、validate 和 run_validators 并传播它们的错误。如果任何时刻、任何方法引发ValidationError,验证将停止并引发这个错误。...这个方法返回验证后的数据,这个数据在后面将插入到表单的 cleaned_data 字典中。...你需要查找self.cleaned_data 中该字段的值,记住此时已经是一个Python 对象而不是表单中提交的原始字符串(位于cleaned_data 中是因为字段的clean() 方法已经验证过一次数据...你需要的不是一个特别的字段(只是一个CharField),而是一个特定于表单字段特定验证,并规整化数据。 这个方法返回从cleaned_data 中获取的值,无论它是否修改过。...Django 表单验证的源码剖析: Django Form源码分析之Field验证逻辑 Django之form表单验证顺序

71010

django 1.8 官方文档翻译:13-1-2 使用Django认证系统

接收一个HttpRequest对象且没有返回值。...注意,即使用户没有登入logout()也不会抛出任何错误。 当你调用logout()时,当前请求的会话数据将被完全清除。所有存在的数据都将清除。...该表单必须在的__init__方法中接收一个request关键字参数,并提供一个get_user方法,此方法返回认证过的用户对象(这个方法永远只在表单验证成功后调用)。...内建的表单 如果你不想用内建的视图,但是又不想编写针对该功能的表单,认证系统提供了几个内建的表单,位于django.contrib.auth.forms: 注 内建的验证表单对他们处理的用户模型做了特定假设...如果你使用了自定义的用户模型,可能需要为验证系统定义你自己的表单。更多信息请见 使用带有自定义用户模型的内建验证表单的文档。

4.6K20

django 1.8 官方文档翻译: 2-3-1 模型实例参考

当你使用ModelForm时,is_valid() 将为表单中的所有字段执行这些验证。更多信息参见ModelForm 文档。...可选的exclude 参数用来提供一个可以从验证和清除中排除的字段名称的列表。ModelForm 使用这个参数来排除表单没有出现的字段,使它们不需要验证,因为用户无法修正这些字段的错误。...如果对象的主键属性没有设置或者UPDATE 没有更新任何记录,Django 将执行INSERT。 现在应该明白了,当保存一个新的对象时,如果不能保证主键的值没有使用,你应该注意不要显式指定主键值。...有极少数的情况,数据库不会报告有一行被更新,即使数据库包含该对象的主键值。有个例子是PostgreSQL 的ON UPDATE 触发器,返回NULL。...显然,两个参数都传递是错误的:你不可能同时插入和更新! 你应该极少需要使用这些参数。Django 几乎始终会完成正确的事情,覆盖它将导致错误难以跟踪。这个功能只用于高级用法。

1.9K10

Django学习之八:forms组件【对

目录 Django forms组件 bound and unbound form instance forms渲染有关 隐藏一个字段,不渲染 form 校验 form类 ModelForm 利用...这样初始化的form对象就是绑定了数据的form实例,即使提供一个空的{} 也算是提供了。 没有提供这样一个参数,则实例化出来的是一个没有绑定数据的form实例。...field.errors 打印的话会渲染表单错误为一个无序列表,列表的ul会有一个class='errorlist' ,这个需要用户来定义这个 css class 应该这样显示。...没校验通过的form_obj可以用于渲染,将错误信息和验证过的信息都渲染到form表单中,不会出现form表单没有校验通过,就将部分校验通过的数据也清空掉,会保留校验通过的数据,只清空没有通过的字段的数据...后面用的多了再总结这一part rendering form error messages django官方也一直没定下怎么渲染表单验证错误信息。

2.1K30

众多Python Web框架比较,哪个适合你,你就用哪个!

理想情况下,你应该使用Python 3.x,所以使用Django的1.x分支的唯一原因是你遇到了旧版本的Python。 Django吸引力的一个关键部分是部署速度。...如果要执行表单验证,可以使用从简单的CSRF保护到返回详细错误反馈的完整逐个字段验证机制的所有内容。 如果没有强大的文档可以使用像Django那样丰富和广泛的功能。...Django应用程序以其头重脚轻而闻名,具有许多移动部件。即使只有几条路线的简单Django应用程序也需要相当多的配置才能运行。...例如,没有开箱即用的数据层或ORM,也没有类似表单验证的规定。但是,它可以通过扩展进行扩展,其中有几十个,包括许多常见用例,如缓存,表单处理和验证,数据库连接等。...同样优秀的是“片段”的集合,这些片段是如何使用Flask完成特定任务的快速和肮脏的示例,例如如果存在如何返回对象,如果不存在则返回404错误

4.5K20

登录

、渲染控件、渲染帮助信息等在注册表单部分已经讲过,登录表单中只引入了一个新的东西:{{ form.non_field_errors }},这显示的同样是表单错误,但是显示的表单错误是和具体的某个表单字段无关的...但有些表单错误不和任何具体的字段相关,比如用户输入的用户名和密码无法通过验证,这可能是用户输入的用户名不存在,也可能是用户输入的密码错误,因此这个错误信息将通过 {{ form.non_field_errors...由于我们没有写任何视图函数处理这个 URL,所以看到一个 404 错误。不过没有关系,我们目前只关注用户是否已经登录。...由于视图渲染了 index.html 文件,因此在 templates/ 目录下建一个 index.html 模板文件(注意我们没有放在 users/ 下,也没放在 registration/ 下)...True,否则返回 False。

3.8K50

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

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

65220

django 1.8 官方文档翻译:5-1-4 内建的Widget

表单字段负责验证输入并直接在模板中使用。Widget 负责渲染网页上HTML 表单的输入元素和提取提交的原始数据。但是,Widget 需要赋值给表单的字段。...自定义Widget 的实例 当Django 渲染Widget 成HTML 时,只渲染最少的标记 —— Django 不会添加class 的名称和特定于Widget 的其它属性。...如果没有提供value,则返回None。 在处理表单数据的过程中,value_from_datadict 可能调用多次,所以如果你自定义并添加额外的耗时处理时,你应该自己实现一些缓存机制。...这个方法从POST 字典中获取数据,并且构造和验证日期。如果日期有效,会返回的字符串,否则会返回一个空字符串,它会使form.is_valid返回False。....> 接收一个可选的参数: render_value 决定在验证错误后重新显示表单时,Widget 是否填充(默认为False)。

5K40

django 1.8 官方文档翻译: 3-4-3 使用基于类的视图处理表单

使用基于类的视图处理表单 表单的处理通常有3 个步骤: 初始的的GET (空白或预填充的表单) 带有非法数据的POST(通常重新显示表单错误信息) 带有合法数据的POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复的样本代码...如果get_object() 返回一个对象,则使用该对象的类。 如果给出queryset,则使用该查询集的模型。 模型表单提供一个form_valid() 的实现,自动保存模型。...如果你想使用一个自定义的ModelForm(例如添加额外的验证),只需简单地在你的视图上设置form_class。...注 当指定一个自定义的表单类时,你必须指定模型,即使form_class 可能是一个ModelForm。...除非你用另外一种方式定义表单类,该属性是必须的,如果没有将引发一个ImproperlyConfigured 异常。

1.8K20
领券