在Django错误消息中,将带有pk或id的url重定向到更新页面

在Django错误消息中,将带有pk或id的url重定向到更新页面,django,Django,我已经创建了一个应用程序,在CreateView页面上,Submit按钮可以很好地创建一个新的S引用。如果输入值与现有引用匹配,我还创建了一条错误消息。我在错误消息部分创建了一个按钮,并尝试链接它来更新页面,以更新这些参考字段,如主联系人。我尝试了许多选项,但没有为参数pk或id获得正确的代码来获得个人记录更新页面 这是错误消息中的url 我尝试了很多pk、id选项,但都不起作用 'pk'=self.pk; {'pk'=self.pk}; object.id 下面是一些代码 mode

我已经创建了一个应用程序,在CreateView页面上,Submit按钮可以很好地创建一个新的S引用。如果输入值与现有引用匹配,我还创建了一条错误消息。我在错误消息部分创建了一个按钮,并尝试链接它来更新页面,以更新这些参考字段,如主联系人。我尝试了许多选项,但没有为参数pk或id获得正确的代码来获得个人记录更新页面

这是错误消息中的url

我尝试了很多pk、id选项,但都不起作用

'pk'=self.pk; 

{'pk'=self.pk};

 object.id 
下面是一些代码

models.py

class LNOrder(models.Model):

reference_number = models.CharField(max_length=15,blank=True, null=True, unique=True, error_messages={'unique':"This reference already exists."})


primary_contact = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
url.py

urlpatterns = [

    path('lfcnotifier', LNCreateView.as_view(), name='lnorder_create'), 
    path('lfcnotifier/<int:pk>', LNDetailView.as_view(), name='lnorder_detail'),
    path('lfcnotifier/<int:pk>/update/', LNUpdateView.as_view(), name='lnorder_update'),
]
我希望当用户点击更新请求按钮时,它会打开更新页面来编辑个人引用

但我从“pk”=self.pk”中得到消息“无法解析其余部分:'=self.pk”。 当我尝试以上不同的选项时,我收到的消息略有不同

我希望有正确的URL代码,以便在单击“更新请求”按钮时更新页面

谢谢

另外,为了节省空间,我在这里只放了一些模板代码。它们在表格部分。如果我使用以下代码

而不是

<a href="{% url 'lnorder_update' 'pk'=self.pk %}"  class="shadow-sm col-sm-4 btn-block btn btn-primary mt-0">Update Request</a>


它可以打开完整的列表页面而不会出现问题。我可以去更新页面从完整的列表页面没有问题。但我想从这里直接打开更新页面,而不是多做一步

这是各种各样的困惑

首先,在纯Python或Django模板中,不能在表达式的左侧使用字符串

但是,第二,你没有所谓的
self
。你所拥有的将从视图中传递出去;但是,从您发布的代码中不清楚这是哪个实际视图。它似乎不是CreateView,因为您正在链接到更新。但是假设它实际上是
LNDetailView
,并且假设它实际上是一个DetailView,那么您可以访问模板中的当前对象,就像
对象
一样

所以你会这样做:

{% url 'lnorder_update' pk=object.pk %}

然而再说一次,实际上这样做是没有意义的。您不能通过
a
提交表单。您需要一个带有按钮的
元素。

更新视图在哪里?上面显示的哪个视图正在呈现此模板?显示视图UpdateView正常。作为我添加的附加背景和URL,我可以毫无疑问地从完整列表页面转到视图。当数据库中已经存在输入引用时,直接从创建页面打开更新页面是一个问题。我添加了额外的背景。感谢您的回复,但是当我尝试pk=object.pk时,它显示了错误:异常值:找不到关键字参数“{pk':”}”的“lnorder\u update”的反向。尝试了1个模式:['lfcnotifier\\/(?P[0-9]+)\\/更新\\/$']
<a href="{% url 'lnorder_update' 'pk'=self.pk %}"  class="shadow-sm col-sm-4 btn-block btn btn-primary mt-0">Update Request</a>
{% url 'lnorder_update' pk=object.pk %}