カスタム バックエンドが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)
これにより、2 つのオプション フィールドがデフォルトの登録フォームに追加されます。デフォルトの代わりにこの新しいフォームを使用するようにカスタム バックエンドに指示するには、 Muki's answerget_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
新しいバックエンドと呼んでいるものに変更します。
デフォルトのバックエンド ソースを見て、オーバーライドできる他のメソッドを理解してください。それが役立つことを願っています。