0
我在這裏絕對損失我做錯了什麼。我正在爲django註冊編寫一個自定義後端,並且據我所知,我完全按照說明操作。我錯過了什麼論點來完成這項工作?自定義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)
,這裏是在urls.py
相關線路:
url(r'^accounts/register/$', register, {'template_name': 'registration/registration_form.html', 'backend': 'lessons.backends.CustomSignUpBackend', 'form_class': MyRegistrationForm}, name='registration_register'),
,並終於在這裏是自定義後端代碼(在課程/後端/ init的.py):
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
應該'高清TeacherSignupBackend(ARG)'是'類TeacherSignupBackend (parentClass)'? –
是的,它做到了。謝謝 –