Django实战:掌握表单处理与数据安全
from django import forms
from django.core.exceptions import ValidationError
class UserForm(forms.Form):
username = forms.CharField(max_length=100)
email = forms.EmailField()
def clean_username(self):
username = self.cleaned_data.get('username')
if username == 'admin':
raise ValidationError('该用户名已被占用.')
return username
# 使用UserForm
def register_view(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
# 数据是安全的,可以进行进一步处理
# 例如保存到数据库
print(form.cleaned_data)
else:
# 处理表单验证失败的情况
print(form.errors)
else:
form = UserForm()
# 渲染模板或返回JSON响应
这段代码定义了一个UserForm,它包含用户名和电子邮件字段。在clean\_username方法中,如果用户名是'admin',则抛出ValidationError异常,防止'admin'这样的管理员保留名字被注册。在视图函数中,如果表单验证通过,则可以信任数据并进行进一步处理(如保存到数据库),如果验证失败,则处理错误。这是一个简单的例子,展示了如何在Django中处理表单和确保数据安全。
评论已关闭