2010-07-22 3 views
1

현재 장고 일반보기로 작업하고 있으며 알아낼 수없는 문제가 있습니다. 여기 장고에서 일반적인보기를 사용하는 중 문제가 발생했습니다.

delete_object() takes at least 3 non-keyword arguments (2 given) 

코드입니다 (나는 ommited 한 문서화 문자열 및 수입) :

views.py

def delete_issue(request, issue_id): 
    return delete_object(request, 
         model = Issue, 
         object_id = issue_id, 
         template_name = 'issues/delete.html', 
         template_object_name = 'issue') 

urls.py delete_object 사용하는 경우

은 내가 TypeError 예외를 얻을

urlpatterns = patterns('issues.views', 
    (r'(?P<issue_id>\d+)/delete/$', 'delete_issue'), 
) 

다른 일반 뷰 (object_list, create_object 등)는 해당 매개 변수로 정상적으로 작동합니다. 내가 가지고있는 또 다른 문제는 create_object() 함수를 사용할 때 CSRF 메커니즘에 대해 말하고있는 것입니다.

답변

2

post_delete_redirect을 제공해야합니다. 즉, 사용자가 개체를 삭제 한 후에 리디렉션되어야하는 URL을 의미합니다. 보기 서명에서 찾을 수 있습니다.

def delete_object(request, model, post_delete_redirect, object_id=None, 
     slug=None, slug_field='slug', template_name=None, 
     template_loader=loader, extra_context=None, login_required=False, 
     context_processors=None, template_object_name='object'): 
+0

나는 그것이 필요하지 않다고 생각했습니다. 감사. –