我在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>
今天对我提出任何问题的人深表歉意-我已经呆了十个小时,开始犯下愚蠢的错误!
答案 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>