Django如何链接到管理站点的项目详细信息页面?

时间:2017-07-31 04:54:26

标签: python django

我在学习Django教程时遇到了一个问题。我在detail中设计了一个views.py方法,以显示我在pdf格式和管理页面中添加的每个项目的详细信息。问题是,当我在管理网页上编辑特定项目时,如何添加指向其相应的 detail网页的超链接?< / p>

我以这种方式构建我的网址:

urlpatterns = [..., url(r'^(?P<item_id>[0-9]+)/$', views.detail, name='detail')]

为此,我需要在相应的模板上获取项ID 。似乎change_form.html是模板,render_change_form类中的覆盖函数MyModelAdmin是呈现模板的函数。那么,是否可以在render_change_form中获取商品ID?我注意到有一个问题要问这个,但没有接受的答案。 那么获取项目ID是解决它的正确方法吗?这样做的正确解决方案是什么?

1 个答案:

答案 0 :(得分:0)

解决方案是get_absolute_url()方法。

示例:

from django.urls import reverse

class Foo(models.Model):
    ...
    def get_absolute_url(self):
        return reverse('detail', args=[str(self.id)])

现在#34;现场观看&#34;按钮出现在右上方(如果管理员看到单个项目)。

Here有关Django admin和get_absolute_url()的更多信息。