Как создать кликабельный текст в виде URL в Django Admin?
У меня есть приложение Django REST API, и я пытаюсь создать кликабельную ссылку из текста. До сих пор я находил только решения, в которых кликабельным является сам URL, и именно так работает текущая функциональность. Однако я хочу добиться того, чтобы у меня был текст (например, «объявление»), а затем отдельное поле для URL. Когда пользователь нажимает на текст («объявление»), он должен быть перенаправлен на URL, указанный в другом поле.
У меня в модели есть два поля:
cites = models.CharField(max_length=100, verbose_name="Cites", blank=True)
cites_url = models.URLField(max_length=200, verbose_name="Cites URL", blank=True)
А в admin.py:
from django.utils.html import format_html
class AnimalAdmin(admin.ModelAdmin):
actions = ['export_to_excel']
inlines = [AnimalImageInline, AnimalFileInline]
fields = [
'cites',
'cites_url', '
]
readonly_fields = ['img_preview', 'klasse_name']
autocomplete_fields = ['category']
list_display = ('cites_link')
def cites_link(self, obj):
# Return a clickable link with the text from cites and URL from cites_url
if obj.cites_url and obj.cites:
return format_html('<a href="{}" target="_blank">{}</a>', obj.cites_url, obj.cites)
elif obj.cites_url:
return format_html('<a href="{}" target="_blank">Click here</a>', obj.cites_url)
return "No CITES URL provided"
cites_link.short_description = "CITES Link"
В Django Admin в одно поле можно ввести текст типа «ad», а в другое - URL типа https://www.ad.nl. Однако в текущей версии текст «объявление» не кликабелен.
Вопрос: Как сделать текст «объявление» кликабельным, чтобы он ссылался на URL?