В моем приложении django мы даем возможность нашему клиенту настроить свою веб-страницу.
Для этого я создал модель для генерации шаблона, и она на самом деле работает нормально. Моя проблема в том, что я хотел бы добавить ссылку предварительного просмотра в форму администратора.
Таким образом, я мог бы сделать «Сохранить и продолжить редактирование», чтобы сохранить шаблон, и если я хочу, я мог бы щелкнуть эту ссылку, чтобы просмотреть его при редактировании страницы.
Я уже активировал предварительный просмотр из списка, но хочу, чтобы это поле отображалось непосредственно в форме.
def get_absolute_url(self):
return "preview/%i/" % self.id
def preview_template(self):
return '<a href="' + self.get_absolute_url() + '" target="_blank">Preview</a>'
preview_template.allow_tags = True
preview_template.short_description = 'Preview'
class BlockPageAdmin(admin.ModelAdmin):
list_display = ( ... 'preview_template',)
Это работает, но есть ли способ добавить его прямо в форму обновления?
UPDATE
Я получил его, следуя основной идее в этом вопросе: Добавление дополнительной кнопки к одному объекту в админке django
Наконец, я добавил файл javascript в конфигурацию администратора моей модели и написал функцию javascript для генерации URL объекта предварительного просмотра. Я должен был написать представление для отображения предварительного просмотра, который я хотел. Разница с решением в посте заключалась в том, что я сделал кнопку вместо ввода ввода, плюс мой javascript открыл всплывающее окно на странице предварительного просмотра. Таким образом, вы по-прежнему находитесь в интерфейсе администратора, где вы можете обновлять модель по своему желанию во время предварительного просмотра изменений.
Спасибо!