코딩공부
Django models 이미지 업로드_1 / TIL_220930
Dong_Devlog
2022. 9. 30. 20:45
이미지 업로드 기능 구현
- setting.py에 경로 추가하기
아래와 같이 setting.py에 코드를 추가해주면 static 파일은 staticfiles 폴더가 생성되면서 저장되고 image 파일은 media 폴더가 생성되고 거기에 저장된다.
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
- urls.py 작성
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
- models.py 작성
profile 테이블을 만든 뒤에 models.ImageField로 이미지를 DB 테이블에 저장할 수 있다.
class ProfileModel(models.Model):
class Meta:
db_table = "profile"
nickname = models.ForeignKey(UserModel, on_delete=models.CASCADE)
bio = models.CharField(max_length=256, blank=True)
user_images = models.ImageField(null=True, upload_to="", blank=True)