1. 创建表单类: 在 Django 中,表单通常由一个继承自 forms.Form 的类来表示。每个表单字段都是该类的一个属性,可以使用不同的字段类型(如文本、整数、日期等)。
from django import forms
class MyForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
age = forms.IntegerField()
在这个例子中,MyForm 类定义了三个字段:name、email 和 age。
2. 在视图中使用表单: 在视图函数中,你可以通过实例化表单类来创建表单对象,并将其传递给模板以在页面中呈现。
from django.shortcuts import render
from .forms import MyForm
def my_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
# 处理表单数据
name = form.cleaned_data['name']
email = form.cleaned_data['email']
age = form.cleaned_data['age']
# 进行进一步的处理,例如保存到数据库
else:
form = MyForm()
return render(request, 'my_template.html', {'form': form})
在这个例子中,如果是 POST 请求,将使用用户提交的数据实例化表单对象。然后,通过 is_valid() 方法验证表单的有效性,如果有效,可以通过 cleaned_data 属性获取经过清理的数据。
3. 在模板中呈现表单: 在模板中,可以使用表单对象的属性和方法来渲染表单。
<form method="post" action="{% url 'my_view' %}">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit">
</form>
在这个例子中,{{ form.as_p }} 会将表单以 HTML 段落的形式呈现。{% csrf_token %} 用于添加跨站请求伪造(CSRF)令牌,以确保表单提交的安全性。
4. 处理提交的表单数据: 在视图中,可以通过检查 request.method 的值来确定表单是否被提交。如果是 POST 请求,可以通过表单对象的属性(如 cleaned_data)来获取用户输入的数据,并进行进一步的处理。
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
email = form.cleaned_data['email']
age = form.cleaned_data['age']
# 处理数据...
这是一个简单的 Django 表单的入门介绍。Django 表单提供了丰富的功能,包括字段验证、自定义验证器、表单组合等,使得处理用户输入变得更加方便和安全。深入了解 Django 表单可以让你更好地构建交互性强、用户友好的 Web 应用。
转载请注明出处:http://www.zyzy.cn/article/detail/13913/Django