繁体   English   中英

如何在django admin中创建到自定义django admin URL的链接?

[英]how to create link in django admin to custom django admin url?

如何在django admin中创建到自定义django admin URL的链接,我在django admin中有2个应用程序,我想从app1链接到app 2中的自定义URL

admin.py APP1

class APP1Admin(ModelAdmin):
    list_display = ('xx','request_me')

    def request_me(self,obj):

       reverse_path = reverse("admin: APP2_TargetLink",args=(obj.pk,)) # My Problem is  How to link to func APP2 target link

       return '<a href="%s"> link </a>'%(reverse_path)

    request_me.allow_tags =True

admin.py APP2

class APP2Admin(ModelAdmin):

   def get_urls(self):
       urls = super(APP2Admin, self).get_urls()
       my_urls = [
       url(r'(\d*)/target_link/$', self.admin_site.admin_view(self.target_link_view),name="TargetLink"),
    ]
      return my_urls + urls

    def target_link_view(self,request,id):
       ...
       return TemplateResponse(request, template, context)

定义网址格式时,您具有name="TargetLink" ,因此您可以使用

reverse("admin:TargetLink",args=(obj.pk,))

如果要使app2出现在URL模式名称中,则必须自己包括它,例如:

   url(r'(\d*)/target_link/$', self.admin_site.admin_view(self.target_link_view),name="app2_TargetLink"),

然后用以下方法将其反转:

reverse("admin:app2_TargetLink",args=(obj.pk,))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM