Я разрабатываю учебник в django документах по созданию приложения для голосования. Я пытаюсь добиться того, чтобы иметь возможность удалить кандидата и, в случае успеха, вернуться к подробному обзору выборов. Я знаю, что мог бы просто добавить другой параметр к URL-адресу, как (полный шаблон ниже)
<a href="{% url 'candidate_delete' c.id object.id %}" class="btn btn-danger fa fa-trash" class></a>
Я хотел бы знать, возможно ли использовать метод публикации (хотя есть нет формы). Я провел некоторое исследование, нашел параметр «следующий», но он не проходит. Похоже, что ему нужна форма, так как все примеры используют «следующий» внутри формы.
Я также пытался установить success_url на основе выборов, для которых кандидатом для удаления является ForeignKey-d, но это приводит к ошибке:
Неправильно сконфигурировано в / выборы / андидат / delete / 13 / Похоже, что в URLconf '1' нет шаблонов. Если вы видите в файле действительные шаблоны, то проблема, вероятно, вызвана циклическим импортом.
Это представление:
class CandidateDelete(LoginRequiredMixin, DeleteView):
model = Candidate
template_name = 'election/delete.html'
def get_object(self):
obj = super().get_object()
print(self.request.POST)
election = Election.objects.get(id=obj.poll_id)
if not election.owner_id == self.request.user.id:
raise Http404
return obj
def get_success_url(self, **kwargs):
obj = super().get_object()
election = Election.objects.get(id=obj.poll_id)
return reverse_lazy('election_detail', election.id)
Шаблонlection_detail
{% extends 'base.html' %}
{% block content %}
{{object.name}} -
<ul>
{% for c in candidate_list %}
<h2>{{ c.name }}</h2>
<li> {{ c.intro }} {{c.id}}
{{c.email}}
<a href="{% url 'candidate_delete' c.id %}" class="btn btn-danger fa fa-trash" class></a> <input type="hidden" name="next" value={{object.id}} />
</li>
{% endfor %}
<a href="{{ request.META.HTTP_REFERER }}" class="btn btn-primary" class>Back</a>
</ul>
{% endblock %}
объект в шаблоне - это выборы, с которыми связаны кандидаты.
Как видите, я попробовал метод post, но, читая вокруг, он, похоже, работает только в форме. Конфигурация success_url также выдает ошибку.
Любая помощь по использованию метода post или настройке get_success_url с данными из модели очень ценится.