Django系列 | [4]表单

创建表单

Django中表单是通过 forms 模块创建的。在创建表单之前,你需要定义表单的字段和验证规则。下面是一个简单的表单定义示例:

# forms.pyfromdjango import formsclassContactForm(forms.Form):name = forms.CharField(max_length=100)email = forms.EmailField()message = forms.CharField(widget=forms.Textarea)

在这个示例中,我们定义了一个名为 ContactForm 的表单类,它有三个字段:name、email 和 message。CharField 和 EmailField 分别用于文本输入和电子邮件地址输入。Textarea 是一个多行文本输入框。

渲染表单

要在Django中呈现表单,你需要将表单实例传递给模板。在模板中,你可以使用Django的模板语言(DTL)来呈现表单字段。下面是一个简单的示例,展示如何呈现表单:

<!-- contact.html --><formmethod="post">  {% csrf_token %}<div><labelfor="{{ form.name.id_for_label }}">姓名:</label>    {{ form.name }}</div><div><labelfor="{{ form.email.id_for_label }}">电子邮件地址:</label>    {{ form.email }}</div><div><labelfor="{{ form.message.id_for_label }}">信息:</label>    {{ form.message }}</div><buttontype="submit">提交</button></form>

在这个示例中,我们使用 form 变量呈现表单字段。id_for_label 属性用于呈现 label 元素的 for 属性。csrf_token 标签用于防止跨站请求伪造攻击。

处理表单

要处理提交的表单数据,你需要在视图函数中编写代码来验证和处理表单数据。如果表单数据有效,则可以执行必要的操作(例如保存数据到数据库),并重定向到成功页面。如果表单数据无效,则可以呈现一个错误页面或重新呈现表单以进行修正。下面是一个简单的表单处理视图函数:

# views.pyfrom django.shortcuts import render, redirectfrom .forms import ContactFormdefcontact(request):if request.method == 'POST':        form = ContactForm(request.POST)if form.is_valid():# 处理表单数据return redirect('success')else:        form = ContactForm()return render(request, 'contact.html', {'form': form})defsuccess(request):return render(request, 'success.html')

在这个示例中,我们定义了一个名为 contact 的视图函数,它处理 ContactForm 表单的提交。如果请求方法为 POST,则我们使用表单数据创建一个表单实例。然后,我们验证表单数据是否有效。如果表单数据有效,我们执行必要的操作(例如保存数据)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值