Как создать кликабельный текст в виде 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?

Вернуться на верх