我正在使用Django 1.11。我试图从UpdateView添加一个DeleteView模板的链接。可能有一种更好的方式来实现这一点,而不是我尝试的方式,但我是Django的新手,所以我正在尝试的方法是使用URL指向myapp/<pk>/delete/
在我的模板中,我有{% url 'calendar_delete' pk=event_id %}
在我的模特中我有
class Event(models.Model):
event_id = models.AutoField(primary_key=True)
在我的网址中,我有
url(r'^calendar/(?P<pk>\d+)/delete/$',views.CalendarDelete.as_view(),name='calendar_delete'),
使用上面的代码,模板不会渲染 NoReverseMatch异常。 '{'pk':''}'找不到,所以它显然没有从模型中获取event_id。当我对其中的数字进行硬编码时,它将呈现,URL将指引我进入DeleteView模板。
有人可以建议我如何将<pk>/event_id
纳入网址标记吗?
<pk>
存在于UpdateView模板的URL中,我还尝试将其作为变量从URL中提取并传递给URL标记。我可以提取ok但不传入变量。
任何有关这方面的帮助都会非常感激,包括建议使用更好的方法来获得理想的结果,而不是我的目标!干杯!
答案 0 :(得分:1)
在UpdateView
中,您应该可以访问模板中的object
。
{% url 'calendar_delete' pk=object.pk %}