Python __init_;()正好接受1个参数(给定2个),出了什么问题?
这基本上是我正在工作的站点的注册表单,它也不工作,但我现在的主要问题是Python __init_;()正好接受1个参数(给定2个),出了什么问题?,python,django,Python,Django,这基本上是我正在工作的站点的注册表单,它也不工作,但我现在的主要问题是\uuuu init\uuu错误。你能检查出什么地方出了问题吗 views.py: from django.views.generic.edit import FormView from django.views.decorators.csrf import csrf_protect from django.core.context_processors import csrf from django.contrib impo
\uuuu init\uuu
错误。你能检查出什么地方出了问题吗
views.py:
from django.views.generic.edit import FormView
from django.views.decorators.csrf import csrf_protect
from django.core.context_processors import csrf
from django.contrib import auth
from authactions import forms
from authactions.forms import CreateForm
class SignupView(FormView):
template_name = 'authactions/register.html'
form_class = forms.CreateForm
def form_valid(self, form):
profile = form.saveUser()
user = authenticate(username=profile.user.username ,password=profile.user.password)
auth.login(self.request,user)
return HttpResponseRedirect('/profiles/')
forms.py:
from django import forms
from profiles.models import UserProfile
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class CreateForm(UserCreationForm):
username = forms.CharField(required=True)
password = forms.CharField(widget=forms.PasswordInput())
password2 = forms.CharField(widget=forms.PasswordInput())
email = forms.EmailField(required=True)
class Meta:
model = UserProfile
fields = ("username", "password", "password2", "email")
def saveUser(self):
user = super(UserCreationForm, self).save()
user.username = self.cleaned_data['username']
user.password = self.cleaned_data['password']
user.password2 = self.cleaned_data['password2']
user.email = self.cleaned_data['email']
if user.password != user.password2:
raise forms.ValidationError("Mismatched password!")
user.save()
return user
class LoginForm(forms.Form):
username = forms.CharField(required=True)
password = forms.CharField(widget=forms.PasswordInput())
html:
回溯:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/register/
Django Version: 1.6
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'authactions',
'blog',
'profiles')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
Exception Type: TypeError at /register/
Exception Value: __init__() takes exactly 1 argument (2 given)
我无法判断它是复制粘贴还是您的代码实际上看起来像那样,但是
类Meta
必须在CreateForm
类中缩进。事实上,saveUser
方法也必须缩进。我不知道它是复制粘贴还是您的代码实际上是这样的,但是类Meta
必须在CreateForm
类中缩进。事实上,saveUser
方法也必须缩进。我不知道它是复制粘贴还是您的代码实际上是这样的,但是类Meta
必须在CreateForm
类中缩进。事实上,saveUser
方法也必须缩进。我不知道它是复制粘贴还是您的代码实际上是这样的,但是类Meta
必须在CreateForm
类中缩进。事实上,saveUser
方法也必须缩进。您不显示URL.py,但问题可能在于:映射基于类的视图时需要使用as\u视图:
url('^register/$', SignupView.as_view(), name='register')
您没有显示URL.py,但问题可能存在:在映射基于类的视图时,需要使用as_视图:
url('^register/$', SignupView.as_view(), name='register')
您没有显示URL.py,但问题可能存在:在映射基于类的视图时,需要使用as_视图:
url('^register/$', SignupView.as_view(), name='register')
您没有显示URL.py,但问题可能存在:在映射基于类的视图时,需要使用as_视图:
url('^register/$', SignupView.as_view(), name='register')
如果您还可以包括Django提供给您的回溯,这将允许其他人准确地确定问题的来源。StackOverflow欢迎使用最少的复制器出现错误。一个代码转储,即使所有内容都是模糊相关的,也绝不是最小的。(另一方面,一个太小而不能再现问题的问题根本不是再现者;把你的问题缩小到最小的东西,这会产生一个给定的问题,但不是更小的问题,这是一种艺术,但却是一种重要的问题)。信息太多了!我很抱歉,但我真的不知道这个错误是从哪里来的。我已经重新收集了所有最近的更改,它仍然存在。已经仔细阅读了我的代码,但仍然不知道,对不起,get或post请求是否发生错误?这可能有助于缩小范围。如果您还可以包括Django提供给您的回溯,这将允许其他人准确地确定问题的来源。StackOverflow欢迎使用最少的复制器出现错误。一个代码转储,即使所有内容都是模糊相关的,也绝不是最小的。(另一方面,一个太小而不能再现问题的问题根本不是再现者;把你的问题缩小到最小的东西,这会产生一个给定的问题,但不是更小的问题,这是一种艺术,但却是一种重要的问题)。信息太多了!我很抱歉,但我真的不知道这个错误是从哪里来的。我已经重新收集了所有最近的更改,它仍然存在。已经仔细阅读了我的代码,但仍然不知道,对不起,get或post请求是否发生错误?这可能有助于缩小范围。如果您还可以包括Django提供给您的回溯,这将允许其他人准确地确定问题的来源。StackOverflow欢迎使用最少的复制器出现错误。一个代码转储,即使所有内容都是模糊相关的,也绝不是最小的。(另一方面,一个太小而不能再现问题的问题根本不是再现者;把你的问题缩小到最小的东西,这会产生一个给定的问题,但不是更小的问题,这是一种艺术,但却是一种重要的问题)。信息太多了!我很抱歉,但我真的不知道这个错误是从哪里来的。我已经重新收集了所有最近的更改,它仍然存在。已经仔细阅读了我的代码,但仍然不知道,对不起,get或post请求是否发生错误?这可能有助于缩小范围。如果您还可以包括Django提供给您的回溯,这将允许其他人准确地确定问题的来源。StackOverflow欢迎使用最少的复制器出现错误。一个代码转储,即使所有内容都是模糊相关的,也绝不是最小的。(另一方面,一个太小而不能再现问题的问题根本不是再现者;把你的问题缩小到最小的东西,这会产生一个给定的问题,但不是更小的问题,这是一种艺术,但却是一种重要的问题)。信息太多了!我很抱歉,但我真的不知道这个错误是从哪里来的。我已经重新收集了所有最近的更改,它仍然存在。已经仔细阅读了我的代码,但仍然不知道,对不起,get或post请求是否发生错误?这可能有助于缩小范围。