Проблема с помощью универсальных представлений в django

Я в настоящее время работаю с django универсальными представлениями, и у меня есть проблема, которую я не могу выяснить.

При использовании delete_object я получаю Исключение TypeError:

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

Вот код (я опустил docstrings и импорт):

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, что это?

1
задан Oscar Carballal 22 July 2010 в 10:00
поделиться

1 ответ

Вам необходимо указать 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'):
2
ответ дан 2 September 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: