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

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

但是渲染一个填充表单却非常有意义 —— 我们希望用户去填充它。 所以当我们在视图中处理模型实例时,我们一般从数据库中获取它。当我们处理表单时,我们一般在视图中实例化它。...如果表单的提交使用POST 请求,那么视图将再次创建一个表单实例并使用请求中的数据填充它:form = NameForm(request.POST)。...这时表单不再为空(绑定),所以HTML 表单将用之前提交的数据填充,然后可以根据要求编辑并改正它。...每个字段都是表单的一个属性,可以使用{{ form.name_of_field }} 访问,并将在Django 模板中正确地渲染。...更深入的主题 这里只是基础,表单还可以完成更多的工作: 表单表单集中使用初始化数据 限制表单的最大数目 表单的验证 验证表单集中表单的数目 处理表单的排序和删除 添加额外的字段到表单中 在视图和模板中视图表单

4.2K20

Django-form表单

如果表单的提交使用POST 请求,那么视图将再次创建一个表单实例并使用请求中的数据填充它:form = NameForm(request.POST)。...这时表单不再为空(绑定),所以HTML 表单将用之前提交的数据填充,然后可以根据要求编辑并改正它。...注:Django 原生支持一个简单易用的跨站请求伪造的防护。当提交一个启用CSRF 防护的POST 表单时,你必须使用上面例子中的csrf_token 模板标签。...Form 类详解 绑定的和绑定的表单实例 绑定的和绑定的表单 之间的区别非常重要: 绑定的表单没有关联的数据。...每个字段都是表单的一个属性,可以使用{{ form.name_of_field }} 访问,并将在Django 模板中正确地渲染。例如: ?

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

37.Django1.11.6文档

当你最初获取数据时不知道是否需要这些特定字段的情况下,如果你正在使用查询的结果,你可以告诉Django不要从数据库中检索它们。...但是渲染一个填充表单却非常有意义 —— 我们希望用户去填充它。 所以当我们在视图中处理模型实例时,我们一般从数据库中获取它。 当我们处理表单时,我们一般在视图中实例化它。...我们调用窗体的is_valid()方法;如果不是True,我们返回到表单的模板。 这时表单不再为空(绑定),所以HTML 表单将用之前提交的数据填充,然后可以根据要求编辑并改正它。...(9)在视图中使用表单 模型表单表单十分类似, 假设我们想要提供一个表单来编辑Author模型实例: from django.forms import modelformset_factory...form.instance.name = name 使用自定义查询 如前所述,您可以覆盖模型formset使用的默认查询: from django.forms import modelformset_factory

24.2K80

Django 优秀资源大全项目资源非 Python 包工具贡献

数据库 有于支持第三方数据库或添加数据库特定功能的包。 dj-database-url, star:562 - 在你的 Django 应用中使用数据库 URL。...django-sendfile, star:311 - 这是对特定于 Web 服务器的方法的一个封闭器,用来将文件发送给 Web 客户端。 表单 扩展表单功能或添加亲的表单类型的相关包。...表单 API 和功能与 Django 的完全相同,主要的不同在同它的表单项和表单组件是在模板中呈现的,而不是使用字符串处理完成,因此它能让你在使用 Django 模板中完成控制输出的结果。...django-aggregate-if, star:125 - 对 Django 查询进行条件聚合,就如 Excel 中的 SumIf 和 CountIf(2 年更新)。...One Month Django - 这组视频将在一个月内教会你 Django。 工具 那些方便 Django 使用的非 Django 项目。

14.1K90

Django 表单处理流程

下面显示了 Django 如何处理表单请求的流程图,从对包含表单的页面的请求开始(以绿色显示): [ix7djaill3.png] 基于上图,Django 表单处理的主要内容是: 在用户第一次请求时,显示默认表单...表单可能包含空白字段(例如,如果您正在创建新记录),或者可能预先填充了初始值(例如,如果您要更改记录,或者具有有用的默认初始值)。...此时表单被称为绑定,因为它与任何用户输入的数据无关(尽管它可能具有初始值)。 从提交请求接收数据,并将其绑定到表单。...验证检查值是否适合该字段(例如,在正确的日期范围内,不是太短或太长等) 如果任何数据无效,请重新显示表单,这次使用任何用户填充的值,和问题字段的错误消息。...参考文档:使用表单1 参考资料 1 使用表单: https://developer.mozilla.org/zh-CN/docs/learn/Server-side/Django/Forms

2.4K20

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

如果表单的提交使用POST 请求,那么视图将再次创建一个表单实例并使用请求中的数据填充它:form = NameForm(request.POST)。...这时表单不再为空(绑定),所以HTML 表单将用之前提交的数据填充,然后可以根据要求编辑并改正它。...回到顶部 Django Form 类详解 绑定的和绑定的表单实例 绑定的和绑定的表单 之间的区别非常重要: 绑定的表单没有关联的数据。当渲染给用户时,它将为空或包含默认的值。...回到顶部 使用表单模板 你需要做的就是将表单实例放进模板的上下文。如果你的表单在Context 中叫做form,那么{{ form }}将正确地渲染它的 和 元素。...每个字段都是表单的一个属性,可以使用{{ form.name_of_field }} 访问,并将在Django 模板中正确地渲染。

4.6K10

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

Django使用模板标签{% csrf_token %}(见2)来防止攻击者利用表单来获得对服务器未经 授权的访问(这种攻击被称为跨站请求伪造)。...在3处,我们显示表单,从中可知Django使得完 成显示表单等任务有多简单:我们只需包含模板变量{{ form.as_p }},就可让Django自动创建显 示表单所需的全部字段。...渲染页面以及处理表单数据时,都需要知道针对的是哪 个主题,因此我们使用topic_id来获得正确的主题(见1)。 在2处,我们检查请求方法是POST还是GET。...如果请求方法为POST,我们就对数据进行处理:创建一个EntryForm 实例,使用request对象中的POST数据来填充它(见4);再检查表单是否有效,如果有效,就设 置条目对象的属性topic,再将条目对象保存到数据库...= 'POST': # 初次请求,使用当前条目填充表单 2 form = EntryForm(instance=entry) else: # POST提交的数据,对数据进行处理 3 form =

11310

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

使用基于类的视图处理表单 表单的处理通常有3 个步骤: 初始的的GET (空白或预填充表单) 带有非法数据的POST(通常重新显示表单和错误信息) 带有合法数据的POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复的样本代码...(参见在视图中使用表单)。...为了避免这点,Django 提供一系列的通用的基于类的视图用于表单的处理。...如果get_object() 返回一个对象,则使用该对象的类。 如果给出queryset,则使用查询的模型。 模型表单提供一个form_valid() 的实现,它自动保存模型。...login_required() 来装饰这个视图,或者在form_valid() 中处理认证的用户。

1.8K20

Django模型model

定义模型类 在模型中定义属性,会生成数据库表中的字段 django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单使用的默认html控件 在管理站点最低限度的验证 django...模型类的查询 查询表示从数据库中获取的对象集合 查询可以含有零个、一个或多个过滤器 过滤器基于所给的参数限制查询的结果 从Sql的角度,查询和select语句等价,过滤器像where和limit子句...接下来主要讨论如下知识点 查询 字段查询:比较运算符,F对象,Q对象(1)模型类查询集合 在管理器上调用过滤器方法会返回查询 查询经过过滤器筛选后返回新的查询,因此可以写成链式过滤 惰性执行:...first():返回第一个对象 last():返回最后一个对象 exists():判断查询集中是否有数据,如果有则返回True 限制查询,如果获取一个对象,直接使用[0] 模型查询的缓存 这构成了两个查询...那么接下来查询返回的记录将不会被缓存,这意味着使用索引来限制查询将不会填充缓存,如果这部分数据已经被缓存,则直接使用缓存中的数据 比较运算符:表示两个下划线,左侧是属性名称,右侧是比较类型 exact

3800

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

我们将使用Django提供的表单UserCreationForm, 但编写自己的视图函数和模板 1....用户注册时,被要求输入密码两次;由于 表单是有效的,我们知道输入的这两个密码是相同的,因此可以使用其中任何一个。在这里,我 们从表单的POST数据中获取与键'password1'相关联的值。...as_p,让Django表单正确地显示所有的字段,包括错误消息——如果 用户没有正确地填写表单。...请尝试使用注册页面创建几个用户名各不相同的用户账户。 在下一节,我们将对一些页面进行限制,仅让已登录的用户访问它们,我们还将确保每个主 题都属于特定用户。...login_required()的代码检查用户是否已登录,仅当用户已登录时,Django才运行topics() 的代码。如果用户登录,就重定向到登录页面。

9710

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

注意 2处和3处的代码被称为查询,因为它们向数据库查询特定的信息。在自己的项目中编 写这样的查询时,先在Django shell中进行尝试大有裨益。...18.5 小结 在本章中,你首先学习了如何使用Django框架来创建Web应用程序。你制定了简要的项目规 范,在虚拟环境中安装了Django,创建了一个项目,并核实该项目已正确地创建。...用于添加主题的表单 让用户输入并提交信息的页面都是表单,那怕它看起来不像表单。用户输入信息时,我们需 要进行验证,确认提供的信息是正确的数据类型,且不是恶意的信息,如中断服务器的代码。...这些工作很多都是由 Django自动完成的。 在Django中,创建表单的最简单方式是使用ModelForm,它根据我们在第18章定义的模型中 的信息自动创建表单。...= 'POST': # 提交数据:创建一个新表单 2 form = TopicForm() else: # POST提交的数据,对数据进行处理 3 form = TopicForm(request.POST

12510

Django请求和响应对象

Django请求和响应对象 Django 使用请求和响应对象在系统中传递状态。 当一个页面被请求时,Django 会创建一个 HttpRequest 对象,这个对象包含了请求的元数据。...对于处理传统的表单数据,使用 HttpRequest.POST HttpRequest.method 代表请求中使用的 HTTP 方法的字符串,一定是大写字母。...QUERY_STRING —— 查询字符串,是一个单一的(解析的)字符串。 REMOTE_ADDR —— 客户机的 IP 地址。 REMOTE_HOST —— 客户机的主机名。...如果使用Nginx+uWsgi的方式部署Django项目,那么META中的REMOTE_ADDR,REMOTE_HOST等不正确的,因为通过Nginx代理转发到uWsgi监听的端口,这时候应用程序获取的客户端信息就是...HttpResponse对象属性 HttpResponse.charset 表示响应将被编码的字符的字符串。

1.5K20

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

执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询,但不是必须)....方法: get_queryset():获取此视图的对象列表.必须是可迭代或者可以使查询.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作的关键点,在于当类视图被调用时...,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug的查询.当query_pk_and_slug为True时,get_object()将使用主键和slug执行查询....,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用填充表单数据和错误信息重新渲染上下文...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类).

2.9K40

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

表单 API 关于这篇文档 这篇文档讲述Django 表单API 的详细细节。你应该先阅读表单简介。 绑定的表单绑定的表单 表单要么是绑定的,要么是绑定的。...``initial 表单字段的初始值使用initial声明。例如,你可能希望使用当前会话的用户名填充username字段。 使用Form的initial参数可以实现。该参数是字段名到初始值的一个字典。...你可以自己编写代码来对特定的字段(根据它们的名字)或者表单整体(考虑到不同字段的组合)进行验证。更多信息参见表单和字段验证。 输出表单为HTML 表单对象的第二个任务是将它渲染成HTML。...以字段的名称为键,用字典查询语法查询表单,可以获取一个 BoundField: >>> form = ContactForm() >>> print(form['subject']) <input id...``css_classes() 当你使用Django 的快捷的渲染方法时,习惯使用CSS  类型来表示必填的表单字段和有错误的字段。

2.7K30

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

执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询,但不是必须)....方法: get_queryset():获取此视图的对象列表.必须是可迭代或者可以使查询.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作的关键点,在于当类视图被调用时...,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug的查询.当query_pk_and_slug为True时,get_object()将使用主键和slug执行查询....,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用填充表单数据和错误信息重新渲染上下文...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类).

3.2K10

django模型

可以使用管理器的all() 方法: all()方法返回包含数据库中所有对象的一个查询 all_users = User.objects.all() 使用过滤器获取特定对象 all() 方法返回了一个包含数据库表中所有记录查询...查询参数(上面函数定义中的**kwargs)需要满足特定的格式,下面字段查询一节中会提 到 使用过滤器获取特定对象示例 要获取年份为2006的所有文章的查询,可以使用filter()方法: Entry.objects.filter...你可以将过滤器保持一整 天,直到查询 需要求值时,Django 才会真正运行这个查询。...限制查询 可以使用Python 的切片语法来限制查询记录的数目 。...如果您在某些情 况下使用查询的结果,当您最初获取数据时不知道是否需要这些特定字段,可以告诉 Django不要从数据库中检索它们。

3.1K20
领券