【发布时间】:2018-04-12 08:27:00
【问题描述】:
我正在使用 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': ''}' not found,所以它显然没有从模型中获取 event_id。当我在其中硬编码一个数字时,它会呈现,并且 URL 会将我定向到 DeleteView 模板。
谁能告诉我如何将<pk>/event_id 放入 URL 标记中?
<pk> 存在于 UpdateView 模板的 URL 中,我还尝试将其从 URL 中提取为变量并传递给 URL 标记。我可以提取 ok 但不能传入变量。
对此的任何帮助将不胜感激,包括关于使用更好的方法来获得预期结果的建议,而不是我要去的地方!干杯!
【问题讨论】:
-
你确定你在 event_id 中有价值吗? event_id 似乎为空。
-
我认为它可能没有正确传递。模型数据库中存在一个值,并且所有必填字段都在表单中正确呈现,所以我认为模型中的 event_id 没有问题
-
在一些可见的部分,尝试把{{ event_id }}
标签: django django-urls django-class-based-views