Почему Django администратор меняет страницу показывает html вместо ссылки после обновления с Django 1.11 до 2.2? - PullRequest
0 голосов
/ 10 апреля 2020

Я недавно обновился до Django 2.2, и теперь вместо реальной ссылки отображается HTML моей ссылки.

Вот код, который я подозреваю изменил в поведении:

class RequestAdmin(admin.ModelAdmin):
    ordering = ('id', 'status', )
    list_display = ('detail_link', 'status', 'requester', 'added', 'type', 'change_description', 'approve_or_deny')

    ... omitted for brevity ...

    # ID in list is rendered as link to open request details page
    def detail_link(self, obj):
        return '<a href="%s%s%s%s%s" target="_blank">%s</a>' % (('https://' if self.request.is_secure() else 'http://'),
                                                self.request.META['HTTP_HOST'],
                                                (settings.GUI_ROOT if settings.GUI_ROOT != '/' else ''),
                                                '/#/requests/', obj.id, obj.id)

Перед этим отдали бы ссылку. Но теперь, если вместо этого этот текст отображается:

<a href="http://app-dev-001.example.com:5200/gui/#/requests/1" target="_blank">1</a>

1 Ответ

1 голос
/ 10 апреля 2020

Django намного больше отличается от версии 2.0

Используйте format_ html для вашей ссылки

PS Я бы даже предложил вам использовать Django 3.0 чтобы избежать подобных проблем в будущем

...