Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义django注册后端必须只接受一个参数_Django_Django Registration - Fatal编程技术网

自定义django注册后端必须只接受一个参数

自定义django注册后端必须只接受一个参数,django,django-registration,Django,Django Registration,我完全不知道我做错了什么。我正在为django注册编写一个定制后端,据我所知,我完全遵循了说明。我缺少什么理由来让这一切顺利进行 以下是我的错误消息: TypeError at /accounts/register/ CustomSignUpBackend() takes exactly 1 argument (0 given) 这是我的回溯: Environment: Request Method: GET Request URL: http://localhost:8000/accou

我完全不知道我做错了什么。我正在为django注册编写一个定制后端,据我所知,我完全遵循了说明。我缺少什么理由来让这一切顺利进行

以下是我的错误消息:

TypeError at /accounts/register/
CustomSignUpBackend() takes exactly 1 argument (0 given)
这是我的回溯:

Environment:


Request Method: GET
Request URL: http://localhost:8000/accounts/register/

Django Version: 1.4.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'api',
 'contact',
 'lessons',
 'mainsite',
 'piston',
 'registration',
 'utils')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "c:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "c:\Python27\lib\site-packages\registration\views.py" in register
  178.     backend = get_backend(backend)
File "c:\Python27\lib\site-packages\registration\backends\__init__.py" in get_backend
  32.     return backend_class()

Exception Type: TypeError at /accounts/register/
Exception Value: CustomSignUpBackend() takes exactly 1 argument (0 given)
下面是
url.py
中的相关行:

url(r'^accounts/register/$', register, {'template_name': 'registration/registration_form.html', 'backend': 'lessons.backends.CustomSignUpBackend', 'form_class': MyRegistrationForm}, name='registration_register'),
最后是定制后端代码(在lessons/backends/init.py中):


def TeacherSignupBackend(arg)
应该是class
TeacherSignupBackend(parentClass)


函数接受参数。。。类从父类继承

应该
def-TeacherSignupBackend(arg)
class-TeacherSignupBackend(parentClass)
?是的,就是这样。谢谢
class CustomSignUpBackend(DefaultBackend):

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

        username, email, password = kwargs['username'], kwargs['email'], kwargs['password1']
        if Site._meta.installed:
            site = Site.objects.get_current()
        else:
            site = RequestSite(request)
        new_user = RegistrationProfile.objects.create_inactive_user(username, email,
                                                                    password, site)
        return new_user