티스토리 뷰
장고 프로젝트 생성
> django-admin startproject 프로젝트명
> python manage.py startapp 애플리케이션명
> notepad settings.py // 설정 파일 확인 및 수정
> python manage.py migrate // 데이터베이스에 기본 테이블 생성(Groups, Users)
> python manage.py runserver // 장고 테스트용 웹서버 실행
> python manage.py createsuperuser // 장고 어드민 사이트의 관리자 생성
프로젝트 설정파일 변경
settings.py 에서 프로젝트의 전반적인 사항들을 설정해준다.
DEBUG 모드 설정
TRUE면 개발모드, FALSE는 운영모드이다.
운영모드일때는 ALLOWED_HOSTS에 서버IP나 도메인 지정을 꼭 해야하고, 개발모드일때는 장고에서 로컬호스트로 간주한다.애플리케이션 등록
애플리케이션의 설정 클래스를 프로젝트 설정 파일에 등록한다.데이터베이스 엔진 설정
SQLIte3나 MySql, Oracle, PostgreSQL 등 사용할 데이터베이스를 설정한다. 기본은 SQLite3이다.타임존 지정
최초에는 세계표준시(UTC)로 되어 있는 것을 한국 시간으로 변경한다.
USE_TZ = True 로 설정하면 장고가 알아서 time zone을 조정한다. 하지만 일광절약시간제를 사용하고 있지 않다면 False로 설정하는게 좀 더 편리하다.URLConf
웹 클라이언트가 웹서버에 페이지를 요청하면 ROOT_URLCONF 항목을 읽어 최상위 URLConf(urls.py)의 위치를 알아내고, 그 최상위 URLCOnf를 로딩해 urlpatterns 변수에 지정되어 있는 URL 리스트들을 위에서부터 순서대로 URL 패턴이 매칭되는지 확인하고 매치된 URL의 뷰를 호출한다. URL 리스트를 끝까지 검사했는데도 매칭에 실패하면 에러를 처리하는 뷰를 호출한다.TEMPLATES
장고에서 템플릿 파일을 찾을 때는 TEMPLATES_DIRS 과 INSTALLED_APPS에서 지정된 앱의 순서대로 디렉토리를 검색해서 찾는다.DEBUG = TRUE ALLOWED_HOSTS = ['localhost', '127.0.0.1'] INSTALLED_APPS = [ ... 'polls.apps.PollsConfig', ] ROOT_URLCONF = 'mysite.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], }, ] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } TIME_ZONE = 'Asia/Seoul'
Model 코딩
테이블 생성, 변경 등 데이터베이스에 변경사항이 있으면 데이터베이스에 실제로 반영해주는 작업을 해야 한다.
> notepad models.py // 테이블 정의
> notepad admins.py // 정의된 테이블을 Admin에 반영
> python manage.py makemigrations // 데이터베이스에 변경이 필요한 사항 추출
> python manage.py migrate // 데이터베이스에 변경사항 반영
'개발 > Python' 카테고리의 다른 글
[Django] mysqlclient whl 파일로 설치하기 (0) | 2019.05.15 |
---|