티스토리 뷰

장고 프로젝트 생성

> 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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함