Skill/Django

[Django] 장고 프로젝트 시작 전 초기 환경 설정

엉아_ 2021. 9. 5. 23:15
728x90

💡 프로젝트 시작 전 환경 셋팅

 

1. 가장 먼저 가상 환경을 만들어주고, 가상 환경을 활성화시켜준다.

python -m venv venv
source venv/Scripts/activate

 

2. gitignore 파일을 만들어준다.

touch .gitignore

-> https://www.toptal.com/developers/gitignore 이곳에서 키워드 검색해서 만들어주기!

 

3. 필요한 라이브러리를 설치해주고, 설치 라이브러리 목록 파일(requirements.txt)을 만들어준다.

pip install django
pip install django-extensions

pip list  # 설치한 라이브러리 목록 보여줌

pip freeze > requirements.txt

# pip install -r requirements.txt -> requirments에 있는 라이브러리 한번에 설치하기

-> django_extensions는 settings.py에 들어가서 INSTALLED_APP에 앱 등록 해주기 (3rd party apps)

 

4. 프로젝트 생성

django-admin startproject config .

-> 여기서 마지막 . 을 안붙이면 config/config 형태로 프로젝트가 만들어져서 보기 불편함!

 

- 프로젝트 구조

  • __init__.py
    • 빈 파일
    • Python에게 이 디렉토리를 하나의 Python 패키지로 다루도록 지시
  • settings.py
    • 웹사이트의 모든 설정을 포함
    • 우리가 만드는 어떤 application이라도 등록이 되는 곳이며, static files의 위치, database 세부 설정 등이 작성
  • urls.py
    • 사이트의 url와 view의 연결을 지정
  • wsgi.py
    • Web Server Gateway Interface
    • 장고 어플리케이션이 웹서버와 연결 및 소통하는 것을 도움
  • asgi.py
    • new in 3.0
    • Asynchronous Server Gateway Interface
    • 장고 어플리케이션이 비동기식 웹 서버와 연결 및 소통하는 것을 도움

 

5. 앱 생성

python manage.py startapp articles

-> 앱을 만들면 무조건 settings.py로 들어가서 INSTALLED_APP에 앱 등록 해주기 (local apps)

 

- Application 구조

  • admin.py
    • 관리자용 페이지 관련 기능을 작성 하는 곳.
  • apps.py
    • 앱의 정보가 있는 곳.
    • 우리는 수정할 일이 없다.
  • models.py
    • 앱에서 사용하는 Model(Database)를 정의하는 곳.
  • tests.py
    • 테스트 코드를 작성하는 곳.
  • views.py
    • view가 정의 되는 곳.

 

6. 서버 실행해보기

python manage.py runserver

 

7. 서버의 시간과 언어를 우리나라 시간과 한글로 바꿔주고 싶다면 settings.py에서 아래와 같이 바꿔준다.

LANGUAGE_CODE = 'ko-kr'

TIME_ZONE = 'Asia/Seoul'