03. photo upload (media)
Media
class Post(models.Model):
photo = models.ImageField(blank=True, upload_to="")
pillow 라이브러리가 설치되어있어야함.
# admin.py
from django.utils.safestring import mark_safe
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ['...', '...', 'photo_tag', ]
list_display_links = []
list_filter = []
search_fields = []
def photo_tag(self, post):
if post.photo:
return mark_safe(f'<img src="{post.photo.url}" style="width: 2rem;" />')
return None
- Upload_to
- 위 속성에%Y/%m/%d
처럼 미디어파일이 업로드되는 문자열을 지정
- 또는 아래 사진처럼 문자열을 반환하는 함수를 지정해도된다.
# urls.py
from django.conf import settings
from django.conf.urls.static import static
# 중략
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
- File Upload Handler
파일 업로드 크기 관련 설정
settings.FILE_UPLOAD_MAX_MEMORY_SIZE
-> default 2.5MB
Author And Source
이 문제에 관하여(03. photo upload (media)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@94incheon/03.-photo-upload-media저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)