如果您的自定义后端位于custom
文件夹中,则custom/forms.py
可能是这样的:
from django import forms
from registration.forms import RegistrationForm
class RegistrationFormWithName(RegistrationForm):
first_name = forms.CharField(required=False)
last_name = forms.CharField(required=False)
这会将您的两个可选字段添加到默认注册表单中。要告诉您的自定义后端使用这种新形式而不是默认形式,您需要更改Muki 答案get_form_class
中的方法,解释了如何做到这一点。custom/__init__.py
当然,您还需要处理保存first_name
和last_name
字段中的数据。
编辑:
您custom/__init__.py
需要看起来像这样:
from registration.backends.default import DefaultBackend
from registration.backends.custom.forms import RegistrationFormWithName
class CustomBackend(DefaultBackend):
def get_form_class(self, request):
return RegistrationFormWithName
并且custom/urls.py
需要这样的一行:
url(r'^register/$', register, {'backend': 'registration.backends.custom.CustomBackend'}, name='registration_register'),
将两个文件中的类名称更改为CustomBackend
您调用的新后端。
查看默认后端源以了解您可以覆盖的其他方法。希望有帮助。