だから私はdjangoの登録を持っています.電子メールがすでに使用されている場所での登録を禁止するために、フォームの検証を拡張したいと思います-これを行う方法は何ですか?
私はこれを持っています(まあ、私は本当に知りません。私のラップトップは私のガールフレンドによってhuluでThe Voiceを見るように強要されたので、これは私の記憶と私のiPadで):
import django-registration.registrationForm
class customRegistrationForm(form.RegistrationForm):
def clean_email(self):
#check here like the one for username!
私はそれを行うことができますか?また、このカスタムフォームはどこに貼り付ければよいですか? 私はそれをdjango-registrationフォルダーに入れていないと思うので、私のappsフォルダーに...特定のフォルダーに入れるのは「意味」ですか?ベースのapp_nameフォルダーに貼り付けて、呼び出しがcustomRegistrationFormであるかどうかは問題ですか?
乾杯!アンドリュー
アップデート
わかりましたので、djangoで物事を「上書き」するには、クラスをinit .pyに入れる必要があり、サブフォルダーを取得したい場合は、独自のinit .pyファイルが必要であることがわかりました
「フォルダ」init .py ファイルは空にすることができます
なぜこれがPythonのものなのかわかりませんか?また、フォルダー内の別のファイルに customRegisterForm.py を含めることができるかどうか、またはinit .pyに含める必要があるかどうかも不明です
とにかく、次は、オーバーライドが想定どおりに機能していないようだということです。
Java では、クラスを拡張すると、そのクラスのすべての非プライベート メンバーにアクセスでき、親クラスで定義されたとおりに動作します。ジャンゴでは、私はたくさん得ています
「customRegistrationForm」オブジェクトには属性「get_form_class」がありません
または明示的に作成しなかったメソッドの名前...上書きで何か不足していますか?
更新された更新
から2番目の例をコピーしました
http://pbjots.blogspot.com/2012/01/customising-django-registration-no.html
これは御馳走を働いています。拡張がこれらすべてのメソッドを保持しない理由、またはコードをやみくもにコピーして何かを壊しただけなのか、まだ不明です-何かアイデアはありますか?