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

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

Django 会处理表单工作三个显著不同部分: 准备并重新构造数据 为数据创建HTML 表单 接收并处理客户端提交表单和数据 可以手工编写代码来实现,但是Django 可以帮你完成所有这些工作。...在模型实例包含数据情况下,在模板对它做处理很少有什么用处。但是渲染一个未填充表单却非常有意义 —— 我们希望用户去填充它。 所以当我们在视图中处理模型实例时,我们一般从数据库获取它。...当调用这个方法时,如果所有字段都包含合法数据,它将: 返回True 将表单数据放到cleaned_data属性。...默认情况下,浏览器可能会对这些字段进行它们自身验证,这些验证可能比Django 验证更严格。...Django 提供两个表单方法,它们允许你独立地在隐藏和可见字段上迭代:hidden_fields() 和visible_fields()。

4.2K20

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

在自己项目中编 写这样查询时,先在Django shell中进行尝试大有裨益。相比于编写视图和模板,再在 浏览器检查结果,在shell执行代码更快地获得反馈。 3....用于添加主题表单 让用户输入并提交信息页面都是表单,那怕它看起来不像表单。用户输入信息时,我们需 要进行验证,确认提供信息是正确数据类型,且不是恶意信息,中断服务器代码。...最简单ModelForm版本只包含一个内嵌Meta类,它告诉Django根据哪个模型创建表单,以 及在表单包含哪些字段。...函数is_valid() 核实用户填写了所有必不可少字段表单字段默认都是必不可少),且输入数据与要求 字段类型一致(例如,字段text少于200个字符,这是我们在第18章models.py...这 种自动验证避免了我们去做大量工作。如果所有字段都有效,我们就可调用save()(见), 将表单数据写入数据库。保存数据后,就可离开这个页面了。

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

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

实际应用,一个表单可能包含几十上百个字段,其中大部分需要预填充,而且我们预料到用户将来回编辑-提交几次才能完成操作。 我们可能需要在表单提交之前,在浏览器端作一些验证。...so,两个突出优点:     1 form表单提交时,数据出现错误,返回页面仍可以保留之前输入数据。    ...2 方便地限制字段条件 回到顶部 在Django 构建一个表单 Form 类 我们已经计划好了我们 HTML 表单应该呈现样子。...它还意味着当Django 收到浏览器发送过来表单时,它将验证数据长度。 Form 实例具有一个is_valid() 方法,它为所有字段运行验证程序。...当调用这个方法时,如果所有字段都包含合法数据,它将: 返回True 将表单数据放到cleaned_data属性

4.5K10

Django 学习笔记之表单

表单允许用户将数据发送到 Web 站点。 但在大多数情况下,Forms 携带数据发送到 Web 服务器,Web 页面会将其拦截并自己使用它。...举个栗子,用户使用浏览器访问一个页面,在页面的搜索框输入图书名称,想获取所有销售该图书商店。Web 站点需要获取图书名称信息作为数据库查询条件,所以将数据拦截并获取图书名称。...然后通关查询数据库,最后将查询到所有商店信息返回给浏览器进行渲染显示。另外,博客系统评论模块也是这个原理。因此,在一些站点上会爆出 XSS 漏洞。...-- 还有其他表单元素, 就不一一列举 --> 对于每个输入字段 ,必须设置一个 name 属性,数据才会被正确提交。...:在 form 定义了 DateTimeField ,那么该字段将被转换为 datetime 类型。 而模板文件内容则比较简单,使用几个 HTML 标签以及模板标签就轻松搞定。 <!

2.5K30

Django教程(二)- Django视图与网址进阶1. HTML表单2.CSRF3.代码操作

表单使用表单标签 来设置: input elements HTML 表单 - 输入元素 多数情况下被用到表单标签是输入标签()。...在返回 HTTP 响应 cookie 里,django 会为你添加一个 csrftoken 字段,其值为一个自动生成 token 在所有的 POST 表单时,必须包含一个 csrfmiddlewaretoken...字段 (只需要在模板里加一个 tag, django 就会自动帮你生成,见下面) 在处理 POST 请求之前,django 会验证这个请求 cookie 里 csrftoken 字段值和提交表单...在所有 ajax POST 请求里,添加一个 X-CSRFTOKEN header,其值为 cookie 里 csrftoken Django 里如何使用 CSRF 防护: 首先,最基本原则是...要启用 django.middleware.csrf.CsrfViewMiddleware 这个中间件 再次,在所有的 POST 表单元素时,需要加上一个 {% csrf_token %} tag 在渲染模块时

4.3K40

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

启用管理网站 默认情况下 Django 管理网站是启用 – 它是可选。...这样的话你就需要在注册对象 时告诉 Django 对应配置。 让我们来看看如何在编辑表单上给字段重新排序。...上面那特定更改使得 “Publication date” 字段在 “Question” 字段之前: 仅有两个字段不会令你印象深刻,但是对于有许多字段管理表单时,选择一个直观 排序方式是一个重要实用细节...刚才所说有许多字段表单,你可能想将表单字段分割成 fieldsets :: class PollAdmin(admin.ModelAdmin): fieldsets = [...Add choice” 表单 看起来像这样: 该表单,Poll 字段是一个包含了数据库每个 poll 选择框。

2.5K40

注册

此外 fields 用于指定表单字段,这些指定字段在模板中会被渲染成表单控件(即一些 等表单控件)。...UserCreationForm 只指定了 fields = ("username",),即用户名,此外还有两个字段密码和确认密码在 UserCreationForm 属性中指定。...所以默认表单渲染后只有用户名(username)、密码、确认密码三个表单控件。我们还希望用户注册时提供邮箱地址,所以在 fields 增加了 email 字段。...这个例子表单数据将提交给 URL /users/register/,然后 Django 调用对应视图函数 register 进行处理。...关于 {% url %} 模板标签,可以看这篇文章介绍 博客文章详情页。 设置表单 method 属性,通常提交 表单数据都是通过 post 方法提交

9K60

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

理想情况下,Form.errors 应该已经保存ValidationError 实例而带有as_ 前缀方法可以渲染它们,但是为了破坏直接使用Form.errors 错误消息代码,必须使用其它方法来实现...object at 0x7ffaac6324d0> 你可以修改表单实例字段来改变字段表单表示: >>> f.as_table().split('\n')[0] 'Name:<...将包含所有字段键和值,即使传递数据包含某些可选字段值。...当你子类化一个自定义表单类时,生成子类将包含父类所有字段,以及在子类定义字段。...在下面的例子,BeatleForm 子类化PersonForm 和 InstrumentForm ,所以它字段列表包含两个父类所有字段: >>> from django.forms import

2.7K30

Django-form表单

实际应用,一个表单可能包含几十上百个字段,其中大部分需要预填充,而且我们预料到用户将来回编辑-提交几次才能完成操作。 我们可能需要在表单提交之前,在浏览器端作一些验证。...它还意味着当Django 收到浏览器发送过来表单时,它将验证数据长度。 Form 实例具有一个is_valid() 方法,它为所有字段运行验证程序。...当调用这个方法时,如果所有字段都包含合法数据,它将: 返回True 将表单数据放到cleaned_data属性。 完整表单,第一次渲染时,看上去将像: ?...注:Django 原生支持一个简单易用跨站请求伪造防护。当提交一个启用CSRF 防护POST 表单时,你必须使用上面例子csrf_token 模板标签。...字段数据 不管表单提交是什么数据,一旦通过调用is_valid() 成功验证(is_valid() 返回True),验证后表单数据将位于form.cleaned_data 字典

3.9K70

django入门:Admin管理系统及表单(干货)

这一部分将介绍 django 自带后台管理系统,以及如何通过表单提交数据 django admin 后台管理系统 在后台管理系统注册创建模型 from django.contrib import admin...admin 管理界面 为了可以和用户进行交流,我们需要获取用户一些评论之类,所以我们需要通过表单让用户提交信息,接下来我们将了解下 django 表单 django 表单 存在相应模型(POST...时候才需要处理表单数据 if request.method = 'POST': # 用户提交信息存在 request.POST ,相当于一个字典取值 form...提交表单错误 不存在对应模型(POST 方式) 1.在 forms.py 创建表单 # 假设有个信息反馈表单 class ContractForm(forms.Form): subject...提交反馈错误 类似搜索表单(GET) 1.创建表单视图 def search(request): # 获取到用户提交搜索关键词,字典键值同模版 name 属性值 q = request.GET.get

2.8K20

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

在3处,我们显示表单,从中可知Django使得完 成显示表单等任务有多简单:我们只需包含模板变量{{ form.as_p }},就可让Django自动创建显 示表单所需全部字段。...修饰符as_p让Django以段落格式渲染所有表单元素,这是一种整洁地显 示表单简单方式。 Django不会为表单创建提交按钮,因此我们在4处定义了一个这样按钮。 6....新类EntryForm继承了forms.ModelForm,它包含Meta类指出了表单基于模型以及要在表单包含哪些字段。这里也 给字段'text'指定了一个空标签(见1)。...小部件(widget)是一个HTML表单元素,单行文本框、 多行文本区域或下拉列表。通过设置属性widgets,覆盖Django选择默认小部件。...在7处,我们将用户重定向到显示相关主题页面。调用reverse()时,需要提供两个实参: 要根据它来生成URLURL模式名称;列表args,其中包含要包含在URL所有实参。

10910

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

视图函数register() 在注册页面首次被请求时,视图函数register()需要显示一个空注册表单,并在用户提交 填写好注册表单时对其进行处理。...如果响应是POST请求,我们就根据提交数据创建一个UserCreationForm实例(见2), 并检查这些数据是否有效:就这里而言,是用户名未包含非法字符,输入两个密码相同,以及 用户没有试图做恶意事情...如果提交数据有效,我们就调用表单方法save(),将用户名和密码散列值保存到数据 库(见4)。方法save()返回新创建用户对象,我们将其存储在new_user。...用户注册时,被要求输入密码两次;由于 表单是有效,我们知道输入两个密码是相同,因此可以使用其中任何一个。在这里,我 们从表单POST数据获取与键'password1'相关联值。...在表单中正确地显示所有字段,包括错误消息——如果 用户没有正确地填写表单

9210

Django -- 如何优雅提交表单

我们定义了一个Form 表单提交这个表单会改变服务端数据,所以我们将 method="post" ,并且我们将action 设置为 {%url'demo_app:add'%}, 这表明了了我们会像...Django 为此提出了一种较为简便方法Form ,Django 表单有一下两个作用: 渲染表单模板 验证数据是否合法 下面我们来介绍下他使用。...,且是必填,最大长度为10, label='name_form' 作用是渲染html 表单字段为 name label 为 name_form。...form.is_valid() 表示对POST请求数据按照当时定义表单字段时定义规则校验。... age=forms.IntegerField(required=True) 就会对 请求 nage 为 age 字段进行校验,判断它是否为必填(是否传了),只有所有字段都通过校验后才能进行下面的逻辑

3.2K20

Django model 层之Models与Mysql数据库小结

列值,自增 参数:verbose_name,个人推断,所有Field类型应该都有该参数,用于设置字段名称 BigAutoField 64位整型,类似AutoField,不同之处在于它可接收更大范围数值...比如field存储最大值超过999,2位小数,设置如下: models.DecimalField(..., max_digits=5, decimal_places=2) 该field对应默认表单组件...该field对应默认表单组件:当设置localize为False,则对应NumberInput,否则TextInput。 ImageField 继承了FileField所有属性和方法。...默认False 注意: blank 是针对表单,如果 blank=True,表示你表单填写该字段时候可以填。...choice 一个由多个2元组,组成迭代对象(tuple、list)。

2.2K20

Django 表单处理流程

Django 表单处理:视图获取请求,执行所需任何操作,包括从模型读取数据,然后生成并返回HTML页面(从模板),我们传递一个包含要显示数据上下文。...使事情变得更复杂是,服务器还需要能够处理用户提供数据,并在出现任何错误时,重新显示页面。...此时表单被称为未绑定,因为它与任何用户输入数据无关(尽管它可能具有初始值)。 从提交请求接收数据,并将其绑定到表单。...验证检查值是否适合该字段(例如,在正确日期范围内,不是太短或太长等) 如果任何数据无效,请重新显示表单,这次使用任何用户填充值,和问题字段错误消息。...如果所有数据都有效,请执行必要操作(例如保存数据,发送表单和发送电子邮件,返回搜索结果,上传文件等) 完成所有操作后,将用户重定向到另一个页面。

2.4K20

django 字段类型_access数据库类型是

默认情况下,BinaryField设置editable为False,在这种情况下,他不能包含在ModelForm,在django2.1进行了修改:旧版本不允许设置editable为True。...默认表单格式为TextInput。 (18) TextField 文本字段。默认表单小部件是Textarea,如果指定max_length属性,将反映在Textarea自动生成表单字段。...此字段默认表单小部件是TextInput。 像所有CharField子类一样,URLField采用可选 max_length参数。如果未指定 max_length,则使用默认值200。...Django会在DELETE CASCADE上模拟 SQL约束行为,并删除包含ForeignKey对象。 **DO_NOTHING:**采取行动。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

3.8K30

Django 构建模板form表单两种方法

通常情况下,我们想构建一张表单时会在模板文件login.html写入 <form action="/your-name/" method="post" <label for="your_name"...是如何在模板文件中生成form表单: 1、自定义显示字段: 假如我们要在模板中生成一张含有username和content表单 在app下新建forms.py(/users/forms.py) from...=5) #max_length 浏览器限制用户输入字符串长度 content = forms.CharField(label='留言', max_length=100) 在视图文件引用上边表单字段并传递给模板...= Lesson fields = ['add_time', 'name', 'learn_times'] #要显示字段 在视图文件引用上边表单字段并传递给模板(users/view.py) from...所有表单类都作为 django.forms.Form 或者 django.forms.ModelForm 子类来创建。您可以把 ModelForm 想象成 Form 子类。

1.6K20
领券