【发布时间】:2018-04-21 09:34:57
【问题描述】:
我正在基于 html 表单提交方法处理我的 django 项目。 但最近,我开始知道存在 django 形式。 请让我知道它们之间有什么区别。
【问题讨论】:
-
Django 表单是一种生成 HTML 表单的便捷方式。
-
关注此link。这正是您所需要的。前 3 段解释了这一点。没有答案能比得上。
我正在基于 html 表单提交方法处理我的 django 项目。 但最近,我开始知道存在 django 形式。 请让我知道它们之间有什么区别。
【问题讨论】:
在 Django 中编写表单最终会生成一个 HTML 表单。 Django 表单可以绑定到一个模型,然后该模型将根据模型结构对表单应用验证,这样就不必手动编写验证代码,还有助于在对模型进行更改时保持一切对齐。
【讨论】:
来自 Django 的表单文档:
除了元素之外,表单还必须指定两件事:
where:对应用户输入的数据应该返回到的URL
how:数据返回的HTTP方法
Django 的 Forms 是一个 Python 类,可以帮助解决这些问题。它仍然使用 HTML 表单输入元素,但提供了以下功能:
您在项目中将表单定义为 .py 文件,而不是在 HTML 中。
<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
如您所见,HTML 输入元素仍然存在 - 但内容已以 Python 形式可重用地编写。 Django 将负责将其全部呈现到页面视图中。
【讨论】: