如何在django admin中创建链接到自定义django admin url?
问题描述:
如何在Django管理链接,自定义Django的管理URL我有Django管理2个应用程序,我想从APP1在app 2如何在django admin中创建链接到自定义django admin 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
管理员链接到自定义网址的.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"
当你定义的URL模式,因此可以逆转与
如果你想app2
是在URL模式名,你必须自己包括它,例如:
reverse("admin:app2_TargetLink",args=(obj.pk,))
我想你的解决方案,但我有:
然后扭转它错误: 未找到'app2_TargetLink'的反转。 'app2_TargetLink'不是有效的视图函数或模式名称。 – user2604098
您的目标链接视图是否可以正常工作?我的第一个建议是否有效? – Alasdair
坦克,但任何想法不起作用 – user2604098