Start Django Project
프로젝트 만들기
이때 project명으로 설정 패키지 명이 결정되므로 startproject에 전달되는 프로젝트명으로 config를 사용할 것이다.
프로젝트 생성후에는 폴더명을 프로젝트 명으로 변경해준다.
기본 디렉토리 및 파일 구조
현재 디렉토리에 <project_name>
디렉토리와 아래의 파일들이 생성된다.
manage.py
: 사이트 관리를 도와주는 역할을 하는 스크립트이다. 다른 컴퓨터에서 다른 설치 작업없이 웹 서버를 시작할 수 있다.(추후에 관련 정보 update)config/
: 디렉토리 내부에 프로젝트를 위한 실제 python 패키지들이 저장된다.config.urls
,config.settings
다음과 같이 프로젝트 내부 어디에서나 접근(import)할 수 있다.
config/__init__.py
: 해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다.
python version 3.3 부터는
__init__.py
가 없어도 패키지로 인식이되지만, 하위 버전과 호환을 위해 생성하는 것이 안전하다.
config/settings.py
: 현재 Django 프로젝트의 환경/구성을 저장한다.(추후에 관련 정보 update)config/urls.py
: 현재 Django 프로젝트의 URL선언을 저장한다.urlresolver
가 사용하는 패턴 목록을 포함한다.(추후에 관련 정보 update)config/wsgi.py
: 현재 프로젝트를 서비스하기 위한 WSGI config 설정파일이다.
WSGI(Web Server Gateway Interface)
웹서버와 파이썬 웹 애플리케이션 개발환경 간의 인터페이스에 대한 규칙이다.
여기서 설치된 pip 패키지 목록을 requirements.txt
로 남겨두어 관리하는 것이 좋다.
프로젝트 서버
서버 시작하기
runserver를 성공하면 http://localhost:8000/
또는 http://127.0.0.1:8000/
로 확인 할 수 있다.
특정 포트로 서버 시작하기
서버 실행 종료하기
control
+ C
를 하면 종료된다.
프로젝트 설정(settings.py)
Timezone 설정
정확한 시간 설정을 위해서 wiki timezone 에서 찾아서 설정해준다.
STATIC_ROOT 설정
STATIC_URL
설정 밑에 경로를 설정해준다.
ALLOWED_HOSTS
다음과 같이 설정이 되어있을때는 ['localhost', '127.0.0.1', '[::1]']
에 대해서 유효하다.
INSTALLED_APPS
django.contrib.admin
: 관리용 사이트django.contrib.auth
: 인증 시스템django.contrib.contenttypes
: 컨텐츠 타입을 위한 프레임 워크django.contrib.sessions
: 세션 프레임워크django.contrib.messages
: messaging 프레임워크django.contrib.staticfiles
: 정적파일을 관리하는 프레임워크
데이터베이스
migration
migrate 명령은 settings.py
의 INSTALLED_APPS 설정을 탐색하여, 데이터베이스 migrations에 따라 필요한 데이터베이스 테이블을 생성한다.
migrate하기 전에 불필요한 애플리케이션(INSTALLED_APPS)은 주석처리 또는 삭제해주면 생성되지않는다.
ModuleNotFoundError
```python .... File "/Users/jeongdaye/.pyenv/versions/3.7.2/lib/python3.7/sqlite3/dbapi2.py", line 27, in from _sqlite3 import * ModuleNotFoundError: No module named '_sqlite3' ```
Migrate 실행시 다음과 같은 오류가 발생할 수 있다. 이러한 경우에는
자기가 설정한 python version으로 다음 명령어를 실행해주면 된다.
git 버전 관리
git으로 버전 관리시 git으로 관리되지 않을 파일 목록인 .gitignore
파일을 생성해 관리한다. 일반적으로 Django 프로젝트에서 사용하는 파일을 wget으로 사용해 웹에서 복사해와 사용할 것이다.
참조페이지
Last updated