Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Django 관리자 페이지로 손쉽게 구현하는 파일 관리 시스템

파일이나 이미지 관련 작업은 대부분 프론트엔드에서 처리하는 경우가 많습니다. 하지만 이번 글에서는 Django 관리자(Admin) 패널에서 직접 파일을 관리하는 방법을 살펴보겠습니다. 이를 통해 서버에서 클라이언트로 전달해야 하는 다양한 유형의 파일과 이미지를 체계적으로 관리할 수 있습니다.

django-filer 설치하기

먼저 파일 관리에 특화된 django-filer 모듈을 설치합니다.

pip install django-filer

다음으로 settings.py 파일에 아래 설정을 추가합니다.

INSTALLED_APPS = [
    ...
    'easy_thumbnails',
    'filer',
    'mptt',
    ...
]
THUMBNAIL_HIGH_RESOLUTION = True

THUMBNAIL_PROCESSORS = (
    'easy_thumbnails.processors.colorspace',
    'easy_thumbnails.processors.autocrop',
    #'easy_thumbnails.processors.scale_and_crop',

    'filer.thumbnail_processors.scale_and_crop_with_subject_location',
    'easy_thumbnails.processors.filters',
)

위 설정은 프로젝트에 필요한 라이브러리들을 앱으로 등록하는 과정입니다. 함께 추가된 썸네일 프로세서 설정은 이미지 업로드 시 색상 공간 변환, 자동 크롭, 필터 적용 등 사전 처리 작업을 수행하여 더 나은 품질의 썸네일을 생성하도록 도와줍니다.

URL 설정하기

여기까지 완료하면 관리자 페이지 사용 준비는 끝났습니다. 이제 업로드된 파일에 접근할 수 있는 정규(canonical) URL을 만들어 보겠습니다.

urls.py 파일에 아래 코드를 추가합니다.

urlpatterns = [
    ...
    path(r'filer/', include('filer.urls')),
    ...
]

이렇게 하면 파일 관리자를 위한 URL이 생성되며, 업로드된 모든 파일과 이미지가 이 경로 아래에 저장됩니다.

실행 결과 확인

관리자 페이지에 접속하면 django-filer의 파일 관리 인터페이스를 확인할 수 있습니다. 폴더 구조로 파일을 정리하고, 드래그 앤 드롭으로 손쉽게 업로드할 수 있어 매우 직관적입니다.

정규 URL을 확인하려면 해당 폴더로 이동한 뒤 화면에 있는 버튼을 클릭하세요. 클릭하는 즉시 해당 파일의 정규 URL을 얻을 수 있습니다.

이처럼 django-filer를 활용하면 별도의 백엔드 로직을 작성하지 않고도 관리자 페이지에서 강력한 파일 관리 기능을 바로 사용할 수 있습니다. 이미지 썸네일 자동 생성, 폴더별 정리, URL 발급까지 한 번에 해결되므로 콘텐츠가 많은 프로젝트에서 특히 유용합니다.