我在学习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是解决它的正确方法吗?这样做的正确解决方案是什么?
答案 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()
的更多信息。