Django 将变量传递给 URL 标记

Django pass variable to URL tag

我正在使用 Django 1.11。我正在尝试从 UpdateView 向 DeleteView 模板添加 link。可能有比我尝试的方式更好的方法来实现这一点,但我是 Django 的新手,所以我尝试的方式是使用 URL 指向 myapp/<pk>/delete/

在我的模板中有 {% url 'calendar_delete' pk=event_id %}

在我的模型中我有

class Event(models.Model):
    event_id = models.AutoField(primary_key=True)

在我的URL中我有

url(r'^calendar/(?P<pk>\d+)/delete/$',views.CalendarDelete.as_view(),name='calendar_delete'),

使用上面的代码,由于以下原因,模板不会呈现 NoReverseMatch 异常。 '{'pk': ''}' 未找到,因此它显然没有从模型中获取 event_id。当我在其中硬编码一个数字时,它将呈现并且 URL 会将我定向到 DeleteView 模板。

谁能告诉我如何将 <pk>/event_id 放入 URL 标签中?

<pk> 存在于 UpdateView 模板的 URL 中,我也尝试将其作为变量从 URL 中提取并传递给 URL标签。我可以提取 ok 但不能传入变量。

我们将不胜感激任何帮助,包括关于比我正在努力实现预期结果更好的方法的建议!干杯!

UpdateView 中,您应该可以访问模板中的 object

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