Отображение ссылки в админке с использованием модели админ
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. Здесь, в разделе admin моих объектов, я хочу отобразить ссылку, где ссылка должна действовать как якорь, где она должна перенаправлять на эту конкретную ссылку на следующей вкладке.
Но когда я запускаю этот код, я вижу URI.
Я хочу сделать этот раздел в моем PDF как якорь, который перенаправляет и открывает в другой вкладке
Это возможно?
1 ответ
Ваш закомментированный код является почти правильным. Вы должны вернуть 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]