从信号回调访问表单的清理数据?

Accessing a Form's cleaned data from a signals callback?

我一直在学习此 link 中的教程并且它运行良好:

http://johnparsons.net/index.php/2013/06/28/creating-profiles-with-django-registration/

然而,我唯一的问题是 user_registered_callback 方法中的这一行:

profile.is_human = bool(request.POST["is_human"])

因为它是直接访问request变量(如果去掉bool函数的话)。

我该怎么做才能让我传递给我的模型的值已经通过引用表单验证?

表单实例未传递给此信号,因此恐怕您必须再次验证数据:

def user_registered_callback(sender, user, request, **kwargs):

    form = ExRegistrationForm(request.POST)
    form.full_clean()

    profile = ExUserProfile(user=user)
    profile.is_human = form.cleaned_data['is_human']
    profile.save()