📅  最后修改于: 2023-12-03 15:10:57.345000             🧑  作者: Mango
在 Django 中,表单是一种用于收集用户输入数据的机制。在模板中使用 Django 表单标签可以轻松为你的应用程序添加表单功能。下面就让我们来了解一下 Django 表单标签的用法吧。
Django 表单标签通常用于生成 HTML 表单组件,如文本输入框、下拉菜单等。以下是一些常用的表单标签:
{% csrf_token %}
在使用 Django 表单时,你必须添加一个 CSRF 令牌来保护你的用户。CSRF 令牌可以防止恶意攻击者利用你的用户身份来提交表单数据。为此,你需要在表单中添加 {% csrf_token %}
标签。
<form method="post">
{% csrf_token %}
...
</form>
{{ form.as_<input_type> }}
这个标签可以通过指定输入类型生成 HTML 输入框。例如,如果你希望在表单中添加一个文本输入框,可以使用以下代码:
<form method="post">
{% csrf_token %}
{{ form.as_text }}
<button type="submit">提交</button>
</form>
{% for field in form %}
此标签通常用于在模板中遍历表单中的所有字段。如果你希望自定义表单标签的输出,你可以使用这个标签。
<form method="post">
{% csrf_token %}
{% for field in form %}
<div class="form-group">
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
{{ field }}
</div>
{% endfor %}
<button type="submit">提交</button>
</form>
{{ form.non_field_errors }}
如果表单验证失败,你可以使用 {{ form.non_field_errors }}
输出错误信息。
<form method="post">
{% csrf_token %}
...
{{ form.non_field_errors }}
<button type="submit">提交</button>
</form>
Django 表单标签是一种强大的工具,它可以帮助你轻松生成表单组件并处理表单数据。尽管有时会出现一些麻烦,但理解 Django 表单标签的用法和限制将使你的工作更加轻松愉快。