1. 简单示例

1.1. 设置表单

  1. # forms.py
  2. from django import forms # 导入 forms 模块
  3. class NameForm(forms.Form): # 继承 forms.Form 类
  4. first_name = forms.CharField(label='First Name', max_length=100)
  5. # CharField 表单字段类型(表单字段类型)
  6. # label 字段参数:标签说明(核心字段参数)
  7. # max_length 字段参数:限制,前端和后端验证
  8. error_css_class = 'error' # 自定义错误信息的 CSS class
  9. required_css_class = 'required' # 自定义 required 字段的 CSS class

参考:CharField 设置 - 字段类型
参考:max_length 设置 - 通用字段参数

1.2. 视图函数

  1. # views.py
  2. #...
  3. from .forms import NameForm
  4. def get_name(request):
  5. if request.method == 'POST':
  6. form = NameForm(request.POST) # 实例化表单
  7. if form.is_valid():
  8. first_name = form.cleaned_data['first_name'] # 表单API
  9. return HttpResponseRedirect('/ok/')
  10. else:
  11. form = NameForm()
  12. return render(request, 'form.html', {'form':form})

1.3. 表单模板

  1. <!-- form.html(表单模板) -->
  2. <form action="" method="post">
  3. {% csrf_token %}
  4. {{ form }} # 表单模板标签
  5. <input type="submit" value="Submit">
  6. </form>