Перенаправление для UpdateView - PullRequest
1 голос
/ 18 мая 2019

У меня есть следующий вид в Джанго:

class LoanEditView(UpdateView):
    model = Loans
    form_class = LoanForm

    def get_success_url(self):
        return reverse('edit', kwargs={
            'pk': self.object.pk,
        })

У меня есть URL-адрес, который работает для вызова вида обновления:

path('edit/<int:pk>', LoanEditView.as_view(), name='edit')

Но теперь моя домашняя страница не работает - я не могу перенаправить из режима редактирования?

Кроме того, я бы очень хотел передать pk из ссылки в моем html-файле следующим образом:

<a href="{% url 'edit' %}" class="btn btn-primary" pk=loan.pk>Edit</a>

С глубокими извинениями всем, кто следит за моими вопросами сегодня - я занимаюсь этим десять часов и начинаю делать глупые ошибки!

1 Ответ

1 голос
/ 18 мая 2019

Вы указали pk в качестве аргумента тега <a ... pk="loan.pk">, а не в качестве именованного параметра тега шаблона {% url ... %}. Использование pk=loan.pk не имеет никакого смысла, так как это не переменная шаблона (между {{ ... }}) или тегом шаблона (между {% ... %}), следовательно, это будет означать, что ваш HTML буквально содержит pk="loan.pk", поэтому не первичный ключ loan, а просто строка "loan.pk".

Вам необходимо указать первичный ключ pk в шаблонном теге `{% url ...%}, например:

<a href="{% url 'edit' <b>pk=loan.pk</b> %}" class="btn btn-primary" >Edit</a>
...