class DirectAdmin(admin.ModelAdmin):
def order_pdf(obj):
# return "<a href='{}'>pdf</a>".format(
url=reverse('orders:admin_order_pdf', args=[obj.id])
return "http://localhost:8000" + url
order_pdf.allow_tags = True
order_pdf.short_description = 'PDF bill'
list_display=['id','name','price','phone_number',order_pdf]
admin.site.register(Product)
admin.site.register(Category)
admin.site.register(Direct,DirectAdmin)
这是我的admin.py。在我的对象的“管理”部分中,我想显示一个链接,该链接应充当锚点,并在下一个选项卡中重定向到该特定链接。
但是当我运行这段代码时,我可以看到uri。
我想在pdf文件中将该部分作为锚点,以重定向并在另一个标签中打开
有可能吗?
答案 0 :(得分:0)
您注释掉的代码几乎正确。您需要返回html(例如<a href='{}'>pdf</a>
),但是您需要将输出标记为安全,以便它不会在模板中转义。
您可以为此使用format_html
。
class DirectAdmin(admin.ModelAdmin):
def order_pdf(obj):
url=reverse('orders:admin_order_pdf', args=[obj.id])
return format_html("<a href='{}'>{}</a>", url, "pdf")
order_pdf.allow_tags = True
order_pdf.short_description = 'PDF bill'
list_display=['id','name','price','phone_number',order_pdf]