Используйте утилиту format_html
. Это исключит любой html из параметров и пометит строку как безопасную для использования в шаблонах. Атрибут метода allow_tags
устарел в Django 1.9.
from django.utils.html import format_html
class MyModelAdmin(admin.ModelAdmin):
list_display = ['show_url', ...]
...
def show_url(self, obj):
return format_html("<a href='http://pre.com{0}'>{0}</a>", obj.url)
Теперь ваши администраторы в безопасности даже в случае:
url == '<script>eval(...);</script>'
См. документацию для получения дополнительной информации.