2016-08-02 20 views
0

(ジャンゴ1.8、1.4ジャンゴ - 登録 - Reduxの)Djangoの登録Reduxのカスタムビュー

このSO記事で答えを次の後:私は私自身のテンプレートを使用してカスタムビューを実装しましたdjango-registration-redux add extra field

を登録しますユーザー、およびカスタムフォームが正しく表示されます。

user_views.py

class SignupView(RegistrationView): 

    form_class = MyRegistrationForm 

    def register(self, request, form): 

     print form 
     print request 

     new_user = super(SignupView, self).register(request, form) 

     my_user_model = MyUserModel() 
     my_user_model.user = new_user 
     my_user_model.save() 

     return new_user 

しかし、レジスタが呼び出されるようには見えません。しかし、私がpost()を定義すると、リクエストはすべてのフォームデータで処理されます。

urls.py

url(
    r'^accounts/register/', 
    user_views.SignupView.as_view(), 
    name='signup' 
), # Customized-Register 

url(
    r'^accounts/', 
    include('registration.backends.default.urls') 
), # Registration-Redux 

正しい使用方法に関する指針をお願い申し上げ、ありがとう!

答えて

0

Ok - 私は解決策を決めました。それは(必要な)ユーザー名フィールドを収集しない私のカスタムフォームと関係していた。

RegistrationViewはDjangoのFormViewの派生クラスであるため、私はそれを私に暗示してくれたので、form_invalid(self、form)を実装することで分かりました。

このSO答えは、ユーザー名の要件を無効に助け:Django Registration Redux: how to change the unique identifier from username to email and use email as login

はそれが

0

はこのラインを試してみてください new_user =スーパー(MyRegistrationView、自己).register(form_class)

とにURLを変更役に立てば幸い URL(R '^アカウント/登録/ $'、MyRegistrationView.as_view()、 名= 'registration_register')、

ホップそれは動作します