Kilkat

3. django settings.py 설정 본문

Programming/django

3. django settings.py 설정

KimKwangWoon 2022. 6. 29. 18:04

기본적인 프로젝트에 앞서 settings.py의 설정을 변경하고 기본 db인 sqlite3가 아닌 mysql로 변경을 진행함.


django의 경우 파일의 이름, 경로가 매우 중요시되고 django-admin startproject를 통해 프로젝트 생성시 dir에 대한 모든 골격이 그대로 맞춰서 나옴.

dir tree에 대해 궁금하면 django 1번 글로 가서 tree를 보고올 것을 추천함. 

 

1. dir tree

1번 사진의 경우 django-admin startproject를 통하여 생성한 직후의 dir tree 구조임.

중요한 파일에 대해 공부한대로 설명을 해보면 본 tree에서의 manage.py 파일의 경우 이름에서 알 수 있듯이 사이트의 관리를 도와주는 파일임.

후에 실행해보겠지만 다른 설치가 필요없이 manage.py 파일을 이용하여 서버를 동작시킬 수 있음.

다음으로 settings.py 파일의 경우 앞으로 우리가 진행할 웹 사이트의 설정에 대한 값들이 들어있는 파일임.

 

# mysite/settings.py

TIME_ZONE = "Asia/Seoul"

settings.py 파일에서 웹사이트를 구동할때의 기본 시간이 한국시간으로 맞추어져 있지 않음.

고로 위와 같이 변경을 진행해 줘야함.

 

# mysite/settings.py

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

다른 backend언어를 사용해도 거의 필수적으로 설정해주는 단계임 css나 img와 같은 정적파일 경로를 적을때 불편함이 없으려면 지금 바로 settings.py에서 위 코드와 같이 변경해 줘야함.

STATIC_ROOT의 경우 os를 따로 사용하는데 만약 에러가 발생하면 코드 상단에서 import os를 하면됨.

 

# mysite/settings.py

ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']

기본적으로 settings.py 파일에서 DEBUG 모드는 true이고 ALLOWED_HOSTS값이 공란이라면 'localhost', '127.0.0.1', '[::1]'에 대해서만 접속을 허용함. 하지만 본 프로젝트에서는 나중에 배포를 위해 위의 코드와 같이 수정을 해야함.

 

# mysite/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db 이름',
        'USER': 'mysql 계정 이름',
        'PASSWORD': 'mysql 계정 비밀번호',
    }
}

db를 mysql로 변경을 할건데 만약 mysql를 install 할때 기본값으로 진행을 하였다면 위 코드와 같이 입력한 후 ''안의 상세한 값은 db 환경에 맞춰 값을 기입하면됨. ( $주의 : mysql에서 database가 사전에 만들어져 있어야함.)

 

pip install mysqlclient

migrate에 앞서 mysql을 django에 연결하려면 mysqlclient를 pip를 통해 설치를 진행해야함.

 

 

python manage.py migrate

설치가 완료되면 db 생성을 위해서 manage.py 파일이 있는 경로에서 콘솔창에 위의 명령어를 실행함.

 

python manage.py runserver

서버를 구동하기 위에 위의 명령어를 실행 후 웹 브라우저에서 127.0.0.1:8000을 url에 입력 후 확인함.

 

django server가 제대로 동작하는 것을 확인할 수 있음.

 

 

 


*본 글은 django girls 튜토리얼을 보고 공부한 내용을 토대로 복습을 위해 작성된 글임, 보다 자세한 내용과 정보를 보고 싶다면 djangogirls 튜토리얼을 볼것을 추천함*

'Programming > django' 카테고리의 다른 글

4. django App, Models 생성하기  (0) 2022.07.01
2. python venv(가상환경) 사용법  (0) 2022.06.29
1. vscode에 djnago를 연결해보자  (0) 2022.06.28
Comments