오늘은 Django를 사용하기 위한 첫단계!!
개발환경 세팅에 대해 적어보고자 한다.
본인이 원하는 python 환경 구축을 위해 필요한 모듈만 담아놓기 위한 환경설정
프로젝트를 진행하다보면 여러가지 package를 설치하게 된다.
시간이 지나면 그 버전이 지속하여 바뀌게 되는데 과거의 프로젝트에서 사용하던 버전과 달라져 충돌의 가능성이 존재한다.
이러한 경우를 대비해 각 프로젝트별로 가상환경을 만들어 관리한다.
우리는 pipenv라는 가상환경을 사용할 것이다.
pip3 install pipenv
이제 가상환경으로 접속한다.
pipenv shell
먼저, Django를 설치하도록 하자.
pip3 install django
django-admin startapp <본인 프로젝트명>
- django 프로젝트 생성 파일
- manage.py: app 생성, 서버 실행, DB관련 작업 진행
- settings.py: 프로젝트 환경 및 구성에 대한 설정 파일. app 생성 후, 이곳에서 등록 진행
- urls.py: user가 접근하는 웹사이트의 url과 view의 연결 지정
- init.py: 빈 파일
- asgi.py: 웹서버, 프레임워크, 앱을 연결해주는 역할 (Asynchronous Server Gateway Interface)
- wsgi.py: 웹서버와 Django간 통신 역할 (Web Server Gateway Interface)
cd <본인 프로젝트명>
서버를 실행하거나 app을 실행하기 위해선 현재 경로에 manage.py가 존재해야한다.
ls
1. 접근 가능 호스트 설정 (전체 허용)
ALLOWED_HOSTS = ['*']
2. 한글 표기 세팅
LANGUAGE_CODE = 'ko-kr'
3. 대한민국 시간대로 설정
TIME_ZONE = 'Asia/Seoul'
4. 기본시간대 사용 여부 False 처리 (대한민국 시간대로 앞서 설정했기 때문)
USE_TZ = False
python3 manage.py startapp main
main이라는 이름으로 app을 하나 생성한다. (현재 경로에 manage.py가 있어야 한다)
- app이란
django 프로젝트를 이루는 작은 단위.
프로젝트 내에서 기능별로 개발할 수 있도록 app을 생성해서 진행한다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main'
]
python3 manage.py runserver #서버 실행
Ctrl + C #서버 종료
실제 실행하면 아래와 같은 빨간 문구가 보일 수 있다.
app에서 모델을 만들면 migration을 만들고 migrate를 통해 migration 내용을 토대로 Table을 생성해 DB에 저장한다.
위 오류는 migrate를 하지않아 DB에 연동되지 않아 발생하는 메시지이다.
아직 모델을 만들지 않았지만 장고에서 기본적으로 등록된 어플리케이션의 모델들이 생성되었기 때문에 발생한다.
migration 해주도록 하자.
python3 manage.py migrate
위 명령어 실행 후, 다시 실행하면 해당 문구가 뜨지 않을 것이다.