Django: показать список эскизов в режиме изменения администратора

#python #django #django-forms #django-admin

#python #django #django-forms #django-admin

Вопрос:

Я пытаюсь сделать что-то немного отличное от других вопросов о эскизах администратора Django здесь. У меня есть две модели, которые ссылаются на мою Photograph модель либо через ForeignKey , либо ManyToMany и хотели бы иметь возможность просматривать доступные фотографии в интерфейсе администратора в виде эскизов, а не по их названию. Я пытался использовать admin_thumbnail метод, который возвращает соответствующий HTML в качестве тега (я успешно использовал это в другом месте), но безрезультатно. Список Photograph объектов использует их __unicode__ возвращаемое значение для заполнения списка, поэтому я попытался __unicode__ вернуть mark_safe(the HTML string) , но все элементы списка заканчиваются пустыми строками. Есть идеи? Я плохо разбираюсь в виджетах, и я надеюсь, что пользовательский виджет — не мой единственный вариант здесь.

Комментарии:

1. Вы установили admin_thumbnail.allow_tags = True ?

2. Я думал, что включил это в исходное сообщение, но, похоже, забыл. Установка allow_tags на True не помогла. Если я не использую mark_safe , я могу видеть HTML в виде строки, но как только я использую mark_safe , текст полностью исчезает. Это звучит как allow_tags проблема, но я не знаю способа установить allow_tags здесь, так как я использую __unicode__ . Можете ли вы установить allow_tags вкл __unicode__ ?

3. Текст должен исчезнуть, если это html. Вы проверили источник веб-страницы для элемента img?

4. Опять же, вы correct…to если быть более точным, в <option> тегах нет элементов.

5. Похоже, что из тегов спецификации HTML <option> могут не быть дочерние элементы. Вероятно, это источник проблемы. Есть ли другой встроенный виджет, который хорошо работал бы для выбора из списка изображений?