django admin如何点击展示列表中的ID跳转至想要的页面

django问题急
admin如何点击ID跳转至我想要的页面
也就是点击蓝色的23644200跳转至我要的页面

好像没有自定义的方法啊。

list_display_links = ('id', 'name',)

img

现状

目前只能跳转至admin自带的编辑页面,很鸡肋。
抓狂了。

可以通过定制admin.py文件来实现跳转到指定页面的功能,我给个简单示例你看下:

  1. 在admin.py文件中导入Django的admin模块:

    from django.contrib import admin
    
  2. 定义一个管理类,继承自admin.ModelAdmin:

    class YourModelAdmin(admin.ModelAdmin):
     # 此处可以设置相关的选项,例如排列顺序等
     list_display = ['id', 'other_field']
    
  3. 在管理类中定义一个方法,用来生成跳转到指定页面的链接:

    class YourModelAdmin(admin.ModelAdmin):
     # ...
    
     def link_to_page(self, obj):
         # 此处需要返回一个字符串,代表跳转到指定页面的HTML代码
         url = reverse('your_view_name', args=[str(obj.id)])
         return format_html('<a href="{}">跳转</a>', url)
     
     link_to_page.short_description = "跳转到指定页面"
     list_display = ['id', 'other_field', 'link_to_page']
    
  4. 在项目的urls.py文件中添加指定页面的URL配置:

    from django.urls import path
    from . import views
    urlpatterns = [
     # ...
     path('your_view_name/<int:id>/', views.your_view_function, name='your_view_name'),
     # ...
    ]
    
  5. 最后在项目的views.py文件中实现指定页面的视图函数

可以做到ID的点击可以跳转至页面,但是要把ID放在list_display_links变量里,list_display必须需要加上这个id才可以,如: list_display = ('id', 'name', 'age') list_display_links = ('id', 'name',)

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^