2013-03-15 3 views
0

내 메서드 (뷰)의 추가 컨텍스트를 사용하여 클래스 기반의 일반 뷰를 호출하려고합니다. 오류는 as_view() takes exactly 1 argument (4 given)입니다. django-userena을 사용하고 있습니다. 이 작업을 실행추가 컨텍스트로 as_view() 꾸미기

코드는 다음과 같습니다

url(r'^accounts/(?P<username>[\.\w-]+)', userena_views.ProfileListView.as_view(template_name='userena/profil.html', extra_context=Projekat.objects.all), name='userena_profile_list'), 

왜이 두 가지 있습니다 : urls.py에서

return userena_views.ProfileListView.as_view(request,template_name='userena/profil.html', extra_context=projekti) 

내가이 줄을이? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2

이것은 url의 기능 때문입니다. 당신은 kwargs to pass the parameters을 사용하고 다음과 같이 URL 패턴을 정의 할 수 있습니다

url(r'^accounts/(?P<username>[\.\w-]+)', userena_views.ProfileListView.as_view(), name='userena_profile_list', kwargs={'template_name':'userena/profil.html', 'extra_context':Projekat.objects.all}), 


편집

미안, 질문을 오해. 그런 다음, 올바르게 질문에 대답하려고 ... 당신의 코드는 다음과 같아야합니다

your_callable_view = userena_views.ProfileListView.as_view() 
return your_callable_view(request, template_name='userena/profil.html', extra_context=projekti) 

이유는 ProfileListView.as_view() 반환 매개 변수와 함께 호출 할 수있는 기능입니다. url()이 작업을 수행하면 이것이 코드에서가 아니라 ulr 패턴에서 작동하는 이유입니다. as_view()가 필요한 유일한 매개 변수는 self입니다.

+0

네, 감사합니다. 그러나, 그 작품 :) 내 자신의 관점에서 장식 문제입니다. – ivica

+1

답변을 수정했습니다. 질문을 명확하게 해주시면 알려주세요. – furins

+0

다시 한번 감사드립니다. 나는 한 가지 더 문제가있다. 나는 내가 urls.py에서 전화했을 때 이전처럼 queryset을 얻지 못합니다. 그 결과 거의 빈 HTML 페이지가됩니다. – ivica