1

私は現在、django ジェネリック ビューを使用していますが、理解できない問題があります。

delete_object を使用すると、TypeError 例外が発生します。

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

コードは次のとおりです(docstringとインポートを省略しました):

ビュー.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 など) は、これらのパラメーターで正常に機能します。私が抱えているもう 1 つの問題は、create_object() 関数を使用するときに、CSRF メカニズムについて何かを言っていることです。それは何ですか?

4

1 に答える 1

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'):
于 2010-07-22T10:49:34.213 に答える