在 Django 中呈现 HTML 表单(GET 和 POST)
Django 通常被称为“包含电池的框架”,因为它对所有内容都有默认设置,并且具有可以帮助任何人快速开发网站的功能。谈到表单,在 HTML 中,表单是 <form>...</form> 内的元素集合,允许访问者执行诸如输入文本、选择选项、操作对象或控件等操作,然后将其发送出去信息返回服务器。基本上,它是用于处理任何目的的数据集合,包括将其保存在数据库中或从数据库中获取数据。Django 支持所有类型的 HTML 表单并将数据从它们呈现到视图中,以便使用各种逻辑操作进行处理。
要了解有关 HTML 表单的更多信息,请访问如何使用 Django Forms 创建表单?。
Django 还提供了 Django Forms 的内置功能,就像 Django Models 一样。可以在 Django 中创建表单并使用它们以一种方便的方式从用户那里获取数据。要开始使用表单,需要熟悉表单中的 GET 和 POST 请求。
GET:相比之下,GET 将提交的数据捆绑成一个字符串,并使用它来组成一个 URL。URL 包含必须发送数据的地址,以及数据键和值。如果您在 Django 文档中进行搜索,您可以看到这一点,这将产生一个格式为 https://docs.djangoproject.com/search/?q=forms&release=1 的 URL。
POST:任何可用于更改系统状态的请求(例如,在数据库中进行更改的请求)都应使用 POST。
在 Django 中渲染 HTML 表单说明
使用示例说明 Django 表单。考虑一个名为 geeksforgeeks 的项目,它有一个名为 geeks 的应用程序。
让我们创建一个简单的 HTML 表单来展示如何输入来自用户的数据并在视图中使用它。在 geeks > templates > home.html 中输入以下代码
现在要在我们的视图中呈现它,我们需要为极客应用修改 urls.py。在 geeksforgeeks > urls.py 中输入以下代码
现在,让我们转到 home_view 并开始检查我们将如何获取数据。来自 Django 中 HTML 表单的全部数据作为 JSON 对象传输,称为请求。让我们首先创建一个视图,然后我们将尝试所有方法从表单中获取数据。
一切就绪后,让我们运行 Python manage.py run server 并检查主页上是否存在表单。
默认情况下,每个用 HTML 编写的表单都会向应用程序的后端发出 GET 请求,GET 请求通常使用 URL 中的查询来工作。让我们用上面的表格来演示一下,用你的名字填写表格,让我们看看会发生什么。
上面的 URL 附加了输入标签的名称属性和在表单中输入的名称。这就是 GET 请求的工作方式,无论它们将附加到 URL 以将数据发送到应用程序后端的输入数量是多少。让我们检查一下如何最终在我们的视图中获取这些数据,以便可以根据输入应用逻辑。 在 views.py
现在,当我们填写表格时,我们可以在终端中看到如下输出:
request.GET 返回一个查询字典,可以像任何其他 python 字典一样访问它,最后使用它的数据来应用一些逻辑。 同样,如果传输方式是 POST,则可以使用 request.POST 作为查询字典,将表单中的数据渲染到视图中。
在 home.html 中
请注意,每当我们创建表单请求时,为了安全起见,Django 都会要求您在表单中添加 {% csrf_token %} 现在,在 views.py 中,让我们检查 request.POST 有什么。
现在,当我们提交表单时,它会显示如下数据。
这样,人们可以使用这些数据来查询数据库或使用一些逻辑操作进行处理,并使用上下文字典传递给模板。
版权声明: 本文为 InfoQ 作者【海拥(haiyong.site)】的原创文章。
原文链接:【http://xie.infoq.cn/article/a32e7e5190d78bcebffbaae2e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论