重定向到UpdateView

时间:2019-05-18 20:52:16

标签: django url-redirection django-urls

我在Django中具有以下视图:

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

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

我有一个可以调用更新视图的网址路径:

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

但是现在我的主页视图已损坏-我似乎无法从编辑视图重定向?

最重要的是,我真的很想通过html中的链接传递pk,其内容如下:

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

今天对我提出任何问题的人深表歉意-我已经呆了十个小时,开始犯下愚蠢的错误!

1 个答案:

答案 0 :(得分:1)

您将pk指定为<a ... pk="loan.pk">标记的参数,而不指定为{% url ... %}模板标记的命名参数。无论如何,使用pk=loan.pk没有任何意义,因为它不是模板变量(在{{ ... }}之间,也不在模板标签中({% ... %}之间),因此这意味着您的HTML字面量包含pk="loan.pk",因此不是loan的主键,而是一个字符串"loan.pk"

您需要在{{url ...%}模板标记中指定主键pk

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