📅  最后修改于: 2023-12-03 14:51:52.244000             🧑  作者: Mango
在 Django 中,表单可以让用户通过网站与应用程序进行交互。 Django 提供了一个简单且易于使用的表单框架,即 Django Forms,它可以快速创建表单、验证和处理用户输入。
创建一个表单需要完成以下步骤:
以下是示例代码:
from django import forms
class ContactForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
subject = forms.CharField(max_length=100)
message = forms.CharField(widget=forms.Textarea)
在上面的示例中,我们创建了一个名为 ContactForm 的表单。该表单包含了四个字段:name、email、subject 和 message。其中,name 和 subject 是 CharField,email 是 EmailField,message 是一个文本区域。
下一步是在视图函数中渲染表单。这需要完成以下步骤:
以下是示例代码:
from django.shortcuts import render
from .forms import ContactForm
def contact(request):
form = ContactForm()
return render(request, 'contact.html', {'form': form})
在上面的示例中,我们创建了一个名为 contact 的视图。在视图中,我们实例化了 ContactForm,并将它传递给模板。
最后一步是处理表单提交。处理表单提交需要完成以下步骤:
以下是示例代码:
from django.shortcuts import render, redirect
from .forms import ContactForm
def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
# 处理表单
return redirect('thanks')
else:
form = ContactForm()
return render(request, 'contact.html', {'form': form})
在上面的示例中,我们检查了请求类型是否为 POST。如果是,则通过实例化 ContactForm 对表单进行处理,然后将用户重定向到感谢页面。如果无效,则重新渲染 ContactForm 并将错误消息传递给它。
参考文献: