2010-07-22 41 views
1

我目前正在使用django泛型視圖,並且我遇到了一個我無法弄清楚的問題。在django中使用泛型視圖的問題

當使用delete_object我得到一個TypeError異常:

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

下面是代碼(我中省略文檔字符串和進口):

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

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

我認爲這不是必需的。謝謝。 – 2010-07-22 11:43:18