Django 陷入类型错误:\ uuuu init\ uuuu()接受1个位置参数,但给出了2个
我遵循这个特别的教程()来让我的动态表单集工作。我遇到了这个错误,我不知道它是从哪里来的,也不知道如何解决它。有人能告诉我怎么解决这个问题吗?是的,我知道这是一个重复的问题。我已经阅读了很多答案,但在我的案例中却无法找到答案 查看代码:Django 陷入类型错误:\ uuuu init\ uuuu()接受1个位置参数,但给出了2个,django,django-views,Django,Django Views,我遵循这个特别的教程()来让我的动态表单集工作。我遇到了这个错误,我不知道它是从哪里来的,也不知道如何解决它。有人能告诉我怎么解决这个问题吗?是的,我知道这是一个重复的问题。我已经阅读了很多答案,但在我的案例中却无法找到答案 查看代码: class ProfileList(ListView): model = Profile class ProfileFamilyMemberCreate(CreateView): model = Profile fields =
class ProfileList(ListView):
model = Profile
class ProfileFamilyMemberCreate(CreateView):
model = Profile
fields = ['first_name', 'last_name']
success_url = reverse_lazy('purchase_order')
def get_context_data(self, **kwargs):
data = super(ProfileFamilyMemberCreate, self).get_context_data(**kwargs)
if self.request.POST:
data['familymembers'] = FamilyMemberFormSet(self.request.POST)
else:
data['familymembers'] = FamilyMemberFormSet()
return data
def form_valid(self, form):
context = self.get_context_data()
familymembers = context['familymembers']
with transaction.atomic():
self.object = form.save()
if familymembers.is_valid():
familymembers.instance = self.object
familymembers.save()
return super(ProfileFamilyMemberCreate, self).form_valid(form)
Forms.py
class FamilyMemberForm(forms.ModelForm):
class Meta:
model = FamilyMember
exclude = ()
FamilyMemberFormSet = inlineformset_factory(Profile, FamilyMember,
form=FamilyMemberForm, extra=1)
回溯:
File "/Users/thahaabdulwahid/miniconda3/envs/projectEnv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)
File "/Users/thahaabdulwahid/miniconda3/envs/projectEnv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "/Users/thahaabdulwahid/miniconda3/envs/projectEnv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
Exception Type: TypeError at /documents/purchase_order/
Exception Value: __init__() takes 1 positional argument but 2 were given
回溯:
File "/Users/thahaabdulwahid/miniconda3/envs/projectEnv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)
File "/Users/thahaabdulwahid/miniconda3/envs/projectEnv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "/Users/thahaabdulwahid/miniconda3/envs/projectEnv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
Exception Type: TypeError at /documents/purchase_order/
Exception Value: __init__() takes 1 positional argument but 2 were given
您的问题与表单集无关,而是在url配置中。对于基于类的视图,需要在模式中调用其
as_view()
方法:
url(r'^purchase_order/$', views.ProfileList.as_view(), name='purchase_order')
请参阅。您的问题与表单集无关,而是在url配置中。对于基于类的视图,需要在模式中调用其
as_view()
方法:
url(r'^purchase_order/$', views.ProfileList.as_view(), name='purchase_order')
请参阅。显示完整的回溯。以及FamileMemberFormSet的定义,假设是该类引起了问题。@DanielRoseman添加了详细信息。请看一看。您是如何引用url中的这些视图的。py?urlpatterns=[url(r'^purchase\u order/$,views.ProfileList,name='purchase\u order')]显示完整的回溯。以及FamileMemberFormSet的定义,假设是该类引起了问题。@DanielRoseman添加了详细信息。请看一看。您是如何在url.py中引用这些视图的?urlpatterns=[url(r'^purchase\u order/$,views.ProfileList,name='purchase\u order')]