Menu
CoddyTech

逐个字段

本课属于 Coddy Django 学习旅程的“表单”单元。第 8 课,共 20 课。

{{ form }} 会用相同的方式绘制每个字段,让它们上下排列。要把每个字段放进你自己的框中,就一次绘制一个字段。

表单由字段组成,字段按列表排列:{% for field in form %} 会按类中声明的顺序提供这些字段。{{ field.as_field_group }} 会绘制一个字段,包括它的标签、错误信息和输入框。下面是一个两个名字并排显示的注册页面:

<div class="row">
    <div class="half">{{ form.first_name.as_field_group }}</div>
    <div class="half">{{ form.last_name.as_field_group }}</div>
</div>

单独使用 {{ form.email }} 只会绘制输入框:没有标签,也没有说明问题所在的错误信息。

样式表中已经有一条 .field 规则,可以把每个框变成卡片。

challenge icon

挑战

简单

在 new_event.html 中,将 {{ form }} 替换为遍历表单字段的循环。将每个字段放在单独的 <div class="field"> 中,并包含它的标签、错误信息和输入框。

填写标题和地点,并将下周五作为日期提交:日期卡片中会显示 Enter a valid date.。

亲手试试

{% extends "events/base.html" %}

{% block title %}Add an event{% endblock %}

{% block content %}
<h1>Add an event</h1>
<form method="post">
    {% csrf_token %}
    {{ form }}
    <button type="submit">Add event</button>
</form>
{% endblock %}

表单中的所有课

自己练习: Django 在线编辑器