奶茶不加糖Amy 2023-02-08 22:53 采纳率: 90%
浏览 33
已结题

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

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

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

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

img

现状

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

  • 写回答

3条回答 默认 最新

  • 北海 2023-02-08 23:08
    关注

    可以通过定制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文件中实现指定页面的视图函数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月17日
  • 已采纳回答 2月9日
  • 创建了问题 2月8日