본문 바로가기
PROGRAMMING/Django

[Django] 가상환경 / 프로젝트 / 애플리케이션 생성

by 안녕나는현서 2021. 9. 1.
728x90

Django 시작하기

1. 가상환경 생성 및 활성화

# 가상환경 생성
python -m venv venv
# 가상환경 활성화 - 코드를 친 이후 (venv) 표시가 붙으면 제대로 된 것!
source venv/Scripts/activate

2. Django 설치

pip install django

# 설치 확인
pip list

# 설치 후에는 꼭 freeze해서 현재 설치된 파일들 저장
pip freeze > requirements.txt
# requirements로 설치하기
pip install -r requirements.txt

3. 서버 활성화

python manage.py runserver

 

프로젝트 생성

  • 프로젝트 이름에 python이나 django에서 사용 중인 키워드 및 '-' (하이픈)은 사용 불가
# .을 안붙여주면 프로젝트dir > 프로젝트dir 형태로 생성됨
django-admin startproject firstpjt .
  • 생성한 프로젝트의 구조
    • __init__.py : 빈 파일, python에게 이 디렉토리를 하나의 python 패키지로 다루도록 지시
    • asgi.py : (Asynchronous Server Gateway Interface), 
      Django 애플리케이션이 비동기식 웹 서버와 연결 및 소통하는 것을 도움
    • settings.py : 애플리케이션의 모든 설정을 포함
    • urls.py : 사이트의 url과 적절한 views의 연결을 지정
    • wsgi.py : (Web Server Gateway Interface), Django 애플리케이션이 웹서버와 연결 및 소통하는 것을 도움
    • manage.py : Django 프로젝트와 다양한 방법으로 상호작용하는 커맨드라인 유틸리티

 

애플리케이션 생성

  • 실제로 어떤 역할을 하는 친구가 앱! 
  • 일반적으로 Application 이름은 복수형으로 하는 것을 권장
python manage.py startapp articles
  • 생성한 애플리케이션의 구조
    • admin.py : 관리자용 페이지를 설정하는 곳
    • apps.py : 앱의 정보가 작성된 곳
    • models.py : 앱에서 사용하는 Model을 정의하는 곳
    • tests.py : 프로젝트의 테스트 코드를 작성하는 곳
    • views.py : view 함수들이 정의되는 곳
  • 프로젝트에서 앱을 사용하기 위해서는 반드시 등록이 필요!
  • 프로젝트 - settings.py - INSTALLED_APPS 에 앱이름 추가
  • INSTALLED_APPS
    • Django installation에 활성화 된 모든 앱을 지정하는 문자열 목록

  • 주의 사항
    1. 앱은 반드시 생성 후 등록! : 먼저 등록하고 생성하려면 앱이 생성되지 않음
    2. INSTALLED_APPS 리스트 순서
      Local apps(내가 만든 앱) - Third party apps(따로 설치한 라이브러리) - Django apps(장고 기본앱)

 

+) Project & Application

  • Project
    • 프로젝트는 애플리케이션의 집합
    • 프로젝트에는 여러 앱이 포함될 수 있음
    • 앱은 여러 프로젝트에 있을 수 있음
  • Application
    • 앱은 실제 요청을 처리하고 페이지를 보여주고 하는 등의 역할을 담당
    • 하나의 프로젝트는 여러 앱을 가짐
    • 일반적으로 앱은 하나의 역할 및 기능 단위로 작성
728x90

댓글