Starck43
@Starck43
Web разработчик (PHP, JS, WORDPRESS, SQL)

Как в админке у поста вывести изображение?

Добрый вечер !

Хочу в админке видеть посты не только в виде списка названий, но еще отображать изображения. Как это реализуется в Django?
Пока нет достаточного опыта самому разобраться.

Вот модель:
class Article(models.Model):
	category = models.ForeignKey('Category', on_delete=models.SET_NULL, null=True, blank=False)
	slug = models.SlugField('Slug', max_length=150, unique=True, null=True, blank=True)
	title = models.CharField('Название статьи', max_length=150, help_text='Название статьи в текущем разделе')
	content = models.TextField('Описание статьи', db_index=True, null=True, blank=True)
	image = models.ImageField('Главное изображение', upload_to='articles/', null=True, blank=True)

	def image_img(self):
		if self.image:
			return u'<a href="{0}" target="_blank"><img src="{0}" width="100"/></a>'.format(self.image.url)
		else:
			return '(Нет изображения)'
		image_img.short_description = 'Фото'
		image_img.allow_tags = True

    def __str__(self):
        return self.title


Вроде все добавил, но не появляется фото. В админку надо что-то добавить?
  • Вопрос задан
  • 35 просмотров
Решения вопроса 2
@bacon
Читать доки, там актуальная инфа https://docs.djangoproject.com/en/3.1/ref/utils/#d... а allow_tags уже давно выпилен
Ответ написан
Starck43
@Starck43 Автор вопроса
Web разработчик (PHP, JS, WORDPRESS, SQL)
Вроде понял чего не хватает (помимо доков и знаний), в admin.py добавил такой кусок:
class ArticleAdmin(SummernoteModelAdmin, contrib.admin.ModelAdmin):
	fields = ['category', 'title', 'slug', 'content', 'image', 'image_img',]
	list_display = ['title', 'category', 'slug', 'image_img',]
	readonly_fields = ['image_img',]
	summernote_fields = ('content','additional',)

У меня summernote пакет только добавлялся к классу ArticleAdmin. Расширил свойства и запустилось
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы