배너 관리
에서 배너 링크 관련 object를 이미 생성할 수 있다.
단지, admin.register를 했다는 이유로
장고의 관리자 화면 좌측에 불필요한 모델 정보가 보이기 시작했다.
class BannerLinkAdmin(admin.ModelAdmin):
models = models.BannerLink
def get_model_perms(self, request):
"""
배너 링크 모델을 배너 어드민에서 사용하니 등록은 해야하나, 어드민 메인 메뉴에는 노출시키고 싶지 않음
"""
return {}
admin.site.register(models.BannerLink, BannerLinkAdmin)
class BannerAdmin(admin.ModelAdmin):
"""배너 관리 탭"""
list_display = ("get_banner_image_tag", "priority", "link",)
list_editable = ("priority",)
ordering = ("priority",)
def get_banner_image_tag(self, instance):
return mark_safe(
f'<img src="{instance.image.url}" style="width: 100px;" />'
)
get_banner_image_tag.short_description = "배너 사진"
# 배너 어드민 등록
admin.site.register(models.Banner, BannerAdmin)