가상환경이 무엇인지 알아보자!
특정 환경에서만 사용하도록 제한된 공간을 만드는 것
▶ 가상 환경이 필요한 이유는 무엇일까
여러명의 클라이언트와 작업을 하게 되면, 프로젝트에 따라 각각 다른 버전이 필요하다. 프로젝트를 할때마다 한쪽 버전을 다 지우고 다시 설치하는 번거로움을 줄이기 위해서이다.
conda create -n <env_name> <python=ver or django ~~~>
conda env list
conda activate "가상환경이름"
프로젝트 만들기
프로젝트로 사용할 디렉토리를 만들어 준다.
mkdir <proj_name> # proj_name이라는 프로젝트 디렉토리 생성
프로젝트 디렉토리 안으로 들어가고 프로젝트를 생성해준다.
django-admin startproject <project1>
프로젝트 생성
django-admin startproject mysite
이 과정에서 데이터베이스 설정, Django
위한 옵션들, 어플리케이션을 위한 설정들과 같은 Django
인스턴스를 구성하는 수많은 설정들이 생성된다.
▶ project
에서 무엇이 생성되는지 확인해보자!
westarbucks/
manage.py
products
westarbucks
__init__.py
urls.py
settings.py
asgi.py
wsgi.py
manage.py
스크립트 / 실행용도의 파일
products
내가 생성한 어플리케이션
프로젝트와 앱의 차이는?
앱이란 어떠한 기능을 하는 웹 어플리케이션을 말한다.
프로젝트 안에 여러개의 앱을 포함할 수 있고, 하나의 앱은 여러개의 프로젝트에 포함 될 수 있다.
westarbucks
프로젝트를 위한 실제 python
패키지들이 저장되는 디렉토리이다.
__init__
: python
에게 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일.
settings.py
현재 Django
프로젝트의 환경 및 구성을 저장함.
urls.py
사용자가 URL
로 Django
에 접근을 하면 Django
는 URL
로 URL
규칙을 보고 내부에서 일치하는 VIEW
를 찾아 연결시킨다.
wsgi.py
Web Server Gateway Interface
의 약자로
Python
의 표준 Gateway Interface
이다..
__pycache__
파이썬 인터프리터는 * .py 스크립트 파일을 컴파일하고 컴파일 결과를 pycache
디렉토리에 저장한다.
settings
파일
현재 프로젝트에게 products
앱이 설치되어 있다는 것을 알려야 한다.
어떻게? 앱의 구성 클래스 (productsConfig) 경로를 프로젝트의 세팅파일에 입력한다.
ip
허용
ALLOWED_HOSTS = ['*']
-turn into commentary
주석처리 admin
, csrf
, auth
등
urls
파일 수정하기from django.urls import path
urlpatterns = [
]