0

私は django-registration モジュールを使用していますが、これは django/python に関する質問です。

カスタム ビュー:

def register(self, request, **cleaned_data):

    firstname, lastname, email, password = cleaned_data['firstname'], cleaned_data['lastname'], cleaned_data['email'], cleaned_data['password']
    if Site._meta.installed:
        site = Site.objects.get_current()
    else:
        site = RequestSite(request)
    new_user = RegistrationProfile.objects.create_inactive_user(email, email,
                                                                password, firstname,
                                                                lastname, site)

    signals.user_registered.send(sender=self.__class__,
                                 user=new_user,
                                 request=request)
    return new_user

フォームを送信すると、次のエラーが表示されます。

TypeError at /accounts/register/
 create_inactive_user() takes at most 6 arguments (7 given)

私の create_inactive_user(email, email, password, firstname, lastname, site) を指しています ... 6 つの引数があります!!!

ハードコーディングされた値で試しましたが、同じメッセージが表示されます。

4

2 に答える 2

0

メソッドを呼び出すとself、最初の引数として暗黙的に追加されます。

self関数定義の最初の引数として含めるのを忘れていませんか?

于 2013-10-28T22:23:13.647 に答える
0

コードから判断すると、create メソッドは名と姓の引数を想定していません。self は暗黙的に渡されますが、ユーザー名、メール、パスワード、サイト、およびオプションの send_email の 5 つの変数を渡す必要があります。

あなたはあまりにも多くの(そして間違った)引数を与えています:)

于 2013-10-28T23:21:44.560 に答える