Уроки Django 3 - вывод изображений в админке django - урок 12 | Михаил Омельченко

preview_player
Показать описание
Реализуем вывод миниатюр изображений актеров, кадров из фильма и постера в админке django. Изменим отображаемые имена для приложения и админки.
Уроки django 3 для начинающих.
Не забудь подписаться на канал, чтобы не пропустить новые видео.

---=---

О веб разработке и программировании простым языком.
То что поможет стать высококвалифицированным специалистом.

---=---
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров
---=---

#django #курс #python #djangoschool
Рекомендации по теме
Комментарии
Автор


О веб разработке и программировании простым языком.
То что поможет стать высококвалифицированным специалистом.

DjangoSchool
Автор

Миша, благодаря твоему уроку, Я стану мастером админки Django :)

jollygoal
Автор

Спасибо огромное за информацию! Я и не знала, что админку можно настраивать настолько удобно (под себя) ! Однозначно лайк + буду дальше двигаться по серии уроков, спасибо!

liza.metla.
Автор

Лучше не у кого не получиться!!! Спасибо Вам !!! Ждем еще!!!

Jon-ss
Автор

Спасибо. Кратко и по делу, как всегда.

skypropeller
Автор

Блин, я на говно сошел, пока пытался по документации что-то найти. СПАСИБО, ЧЕЛОВЕЧИЩЕ!!!

bari_grey_woolf_
Автор

Михаил добрый день. Подскажите пожалуйста где ошибка. До этого момента все отлично работало. и сейчас работает, но не выводятся картинки в блоке "кадры из фильма" вместо них появляются галочки "удалить?" а картинок так и нет.
from django.contrib import admin
from django.utils.safestring import mark_safe
from .models import Category, Genre, Movie, MovieShots, Actor, Rating, RatingStar, Reviews


@admin.register(Category)
class
"""Категории"""
list_display = ("id", "name", "url")
list_display_links = ("name", )


class
"""Отзывы на странице фильма"""
model = Reviews
extra = 1
readonly_fields = ("name", "email")


class
model = MovieShots
extra = 1
readonly_fielsd = ("get_image", )

def get_image(self, obj):
return mark_safe(f'<img src={obj.image.url} width="100" height"110"')

get_image.short_description = "Изображение"


@admin.register(Movie)
class
"""Фильмы"""
list_display = ("title", "category", "url", "draft")
list_filter = ("category", "year")
search_fields = ("title", "category__name")
inlines = [MovieShotsInline, ReviewInline]
save_on_top = True
save_as = True
list_editable = ("draft", )
readonly_fields = ("get_image", )
fieldsets = (
(None, {
"fields": (("title", "tagline"), )
}),
(None, {
"fields": ("description", ("poster", "get_image"))
}),
(None, {
"fields": (("year", "world_premiere", "country"), )
}),
("Actors", {
"classes": ("collapse", ),
"fields": (("actors", "directors", "genres", "category"), )
}),
(None, {
"fields": (("budget", "fees_in_usa", "fess_in_world"), )
}),
("Options", {
"fields": (("url", "draft"), )
}),
)

def get_image(self, obj):
return mark_safe(f'<img src={obj.poster.url} width="100" height"110"')

get_image.short_description = "Постер"



@admin.register(Reviews)
class
"""Отзывы"""
list_display = ("name", "email", "parent", "movie", "id")
readonly_fields = ("name", "email")


@admin.register(Genre)
class
"""Жанры"""
list_display = ("name", "url")


@admin.register(Actor)
class
"""Актеры"""
list_display = ("name", "age", "get_image")
readonly_fields = ("get_image", )

def get_image(self, obj):
return mark_safe(f'<img src={obj.image.url} width="50" height"60"')

get_image.short_description = "Изображение"


@admin.register(Rating)
class
"""Рейтинг"""
list_display = ("movie", "ip", "star")


@admin.register(MovieShots)
class
"""Кадры из фильма"""
list_display = ("title", "movie", "get_image", )
readonly_fields = ("get_image", )

def get_image(self, obj):
return mark_safe(f'<img src={obj.image.url} width="50" height"60"')

get_image.short_description = "Изображение"




admin.site.site_title = "RealToysFrontline"
admin.site.site_header = "RealToysFrontline"

Anna-handmade
Автор

А есть возможность сделать поле в админке collapsable, но так, чтобы по умолчанию, оно было развёрнуто?

symbolminded
Автор

Здравствуйте, дорогой Михаил, подскажите пожалуйста, нужно ли указывать default_app_config, если путь к наследнику класса appconfig указали в settings.py installed_apps?

gonfrix
Автор

здорово, отличный урок. Есть вопрос по связанным изображениям, можно ли их скрывать, как мы это делаем с актерами и режиссерами? Можем ли мы как-то добавить наш класс в fieldsets?

vadimnosurname
Автор

я наверное пропустил один момент, подскажите пожалуйста от куда в image.url, дописываем этот url после точки, как он связан??

sergeyilyin
Автор

С картинкой костыль какой-то. При редактировании получаются 2 поля с картинкой, а хотелось бы вместо просто вместо текстовой ссылки сделать кликабельную картинку неужели такого варианта не предусмотрено? В списке тоже хотелось бы сделать картинку кликабельной, я думаю это возможно при помощи своего метода, но всё же для редактирования опять получится 2 поля, не нравится мне такой костыль

kolyanlock
Автор

Среди множества уроков по джанге так и не нашел тот, где меняют шаблон вывода админки, чтоб отображать картинку в одном поле, а не через дополнительное.

kleikoks
Автор

Очень круто 🖖 желаю добиться больших высот 🤟

VoiceBooksLive
Автор

Миша привет! Видео классное, но как ты в пайчарме включил подсветку аргументов функции? Спасибо!

ДенисБондар-жп
Автор

Михаил, откуда вы черпаете знания? Вы не могли бы оставлять ссылки на документацию по теме ролика? А то у Джанги настолько неудобная документация, у меня там вообще ничего найти не получается, хорошо хоть есть ваши уроки, но хочется почерпнуть более углубленные знания.

MegaAfon
Автор

Это. Просто. Ахуенно. *Сказано о всём курсе целиком и в частности

SDF
Автор

Выдаёт ошибку при добавлении verbose_name к названии приложения в apps.py in create
mod_path, _, cls_name = entry.rpartition('.')
AttributeError: 'tuple' object has no attribute 'rpartition'

crz
Автор

Скажите, а как поменять стандартный адрес админки mysite.ru/admin на другой?

impulse_game
Автор

Наверно нужно выводить уменьшенные перьвьюшки

XXXL-OLD