[Django] 비 SPA 방식으로 장고 Forms/Views를 적극 활용한 인스타그램 St 만들기#1_프로젝트 생성 및 초기 프로젝트 환경설정

아직·2022년 7월 8일
0
post-thumbnail

1)

static, media 파일을 정적 파일이라하며 데이터가 가공돼서 보여지는 동적 파일과 달리, 미리 저장되어 있어서 페이지가 렌더링될 때 제공된다.

static은 이미지,css,js 개발자가 심어둔 파일로 같이 식당의 기본 세팅과 같고, media는 model의 파일 필드나 이미지 필드를 통해 저장된 파일, 즉 사용자가 업로드할 수 있는 파일이다. 앞선 강의에서 날짜 변환 기능과 조합한 적이 있다.

2)

STATIC_URL = '/static/'
STATICFILES_DIRS = []
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

STATICFIELS_DIRS는 현재 static 파일들의 위치를 가리키고 STATIC_ROOT는 "헤쳐모여!"라는 명령을 내렸을 때 static 파일들이 모일 방공호? 같은 개념이다.

3)

urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)

imagefield, filefield를 통해 media 파일이 저장되지만, field가 파일 자체를 갖고 있는 것이 아니라, 파일이 저장된 경로를 알고 있는 것이다. 이때 실제 저장된 위치가 MEDIA_ROOT, 경로를 암시하는 clue가 MEDIA_URL이라고 할 수 있다.

runserver로 구동하는 개발환경의 경우에는 자동으로 media 파일을 서빙하지 않는다. 그래서 urlpatterns를 수동으로 추가하는 작업을 거쳐야 하는데 해당 코딩을 통해서 MEDIA_URL로 들어오는 요청에 대해서 MEDIA_ROOT를 뒤져보라고 소개해줄 수 있다.

4)

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, 'newaskcompany', 'templates'),
        ],

settings.py에 os.path의 abspaht, dirname이 임포트돼 있고 프로젝트의 폴더-프로젝트-전반적으로 사용되는 템플릿이 위치한 폴더 순으로 인자를 넘겨준다.

static 폴더도 마찬가지의 작업을 해준다.

0개의 댓글