[Back]-Django 세팅
오늘은 Django를 사용하기 위한 첫단계!!
개발환경 세팅에 대해 적어보고자 한다.
1. 가상환경 세팅
1-1. 가상환경이란?
본인이 원하는 python 환경 구축을 위해 필요한 모듈만 담아놓기 위한 환경설정
1-2. 필요한 이유?
프로젝트를 진행하다보면 여러가지 package를 설치하게 된다.
시간이 지나면 그 버전이 지속하여 바뀌게 되는데 과거의 프로젝트에서 사용하던 버전과 달라져 충돌의 가능성이 존재한다.
이러한 경우를 대비해 각 프로젝트별로 가상환경을 만들어 관리한다.
1-3. pipev 사용하기
우리는 pipenv라는 가상환경을 사용할 것이다.
pip3 install pipenv
이제 가상환경으로 접속한다.
pipenv shell
2. Django 시작하기
2-1. Django 설치
먼저, Django를 설치하도록 하자.
pip3 install django
2-2. 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)
2-3. 프로젝트 진입
cd <본인 프로젝트명>
서버를 실행하거나 app을 실행하기 위해선 현재 경로에 manage.py가 존재해야한다.
- 현재 경로 파일/폴더 리스트 확인 방법
ls
2-4. settings.py 설정
1. 접근 가능 호스트 설정 (전체 허용)
ALLOWED_HOSTS = ['*']
2. 한글 표기 세팅
LANGUAGE_CODE = 'ko-kr'
3. 대한민국 시간대로 설정
TIME_ZONE = 'Asia/Seoul'
4. 기본시간대 사용 여부 False 처리 (대한민국 시간대로 앞서 설정했기 때문)
USE_TZ = False
2-5. app 생성
python3 manage.py startapp main
main이라는 이름으로 app을 하나 생성한다. (현재 경로에 manage.py가 있어야 한다)
- app이란
django 프로젝트를 이루는 작은 단위.
프로젝트 내에서 기능별로 개발할 수 있도록 app을 생성해서 진행한다.
2-6. settings.py에 app 등록하기
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main'
]
2-7. 서버 실행
python3 manage.py runserver #서버 실행
Ctrl + C #서버 종료
실제 실행하면 아래와 같은 빨간 문구가 보일 수 있다.
app에서 모델을 만들면 migration을 만들고 migrate를 통해 migration 내용을 토대로 Table을 생성해 DB에 저장한다.
위 오류는 migrate를 하지않아 DB에 연동되지 않아 발생하는 메시지이다.
아직 모델을 만들지 않았지만 장고에서 기본적으로 등록된 어플리케이션의 모델들이 생성되었기 때문에 발생한다.
migration 해주도록 하자.
python3 manage.py migrate
위 명령어 실행 후, 다시 실행하면 해당 문구가 뜨지 않을 것이다.
Author And Source
이 문제에 관하여([Back]-Django 세팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cho876/Back-Django-세팅저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)