원문 : https://docs.djangoproject.com/en/1.5/intro/tutorial01/
0. 장고(Django)를 깐다 (https://docs.djangoproject.com/en/1.5/topics/install/)
(이클립스에 PyDev 플러그인이 깔려있다고 가정한다.)
1. mysite 라는 이름으로 Django 프로젝트를 생성한다.
2. 아래 사진과 같은 파일들이 생성된다.
- manage.py : Django 프로젝트를 관리하기 위한 utility. 자세한 내용은 (https://docs.djangoproject.com/en/1.5/ref/django-admin/)
- mysite/settings.py : Django 프로젝트와 관련된 세팅 정보
- mysite/urls.py : URL 패턴을 정의
- mysite/wsgi.py : WSGI 웹서버로의 진입 시점(?) 자세한 내용은 (https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/)
3. mysite 프로젝트를 우 클릭 해서 Run As > PyDev:Django 를 선택해서 서버를 실행한다.
아래와 같은 로그가 나온다
접속 확인!!
4. mysite/setting.py 파일을 열어서 Database를 세팅한다.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'D:\\99 eclipse\\forPython\\workspace\\mysite\\src\\sqlite.db', # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: 'USER': '', 'PASSWORD': '', 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': '', # Set to empty string for default. } }
- ENGINE : 데이터 베이스 별로 골라서 사용한다.
'django.db.backends.postgresql_psycopg2'
'django.db.backends.mysql'
'django.db.backends.sqlite3'
'django.db.backends.oracle'
- NAME : 데이터베이스 명 SQLite의 경우 db 파일의 절대 경로
- USER / PASSWORD : 사용자 비밀번호
- HOST / PORT : 서버 주소, port
5. 설정한 DB의 기초 자료를 생성한다.
명령어는 (python manage.py syncdb)
이클립스는 아래와 같이 처리
슈퍼유저 생성
6. mysite/setting.py 파일을 열어서 TIMEZONE을 설정한다. (참고 : http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE)
TIME_ZONE = 'America/Chicago'
7. mysite라는 프로젝트 안에 polls 라는 앱을 추가해보자.
명령어는 python manage.py startapp polls
이클립스는 아래와 같이
polls 라는 app이 추가 된것을 확인 할 수 있다.
8. polls/models.py를 작성하자
from django.db import models # Create your models here. class Poll(models.Model): question = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): poll = models.ForeignKey(Poll) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default = 0)
django.db.models.Model 클래스를 상속받아 작성하며 DB의 필드에 대응되는 변수들을 가진다. 각 변수는 Field 클래스의 인스턴스로 정의된다. 자세한 내용은 (https://docs.djangoproject.com/en/1.5/howto/custom-model-fields/#django.db.models.Field)
9. polls 앱을 INSTALLED_APPS 에 추가한다.
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', # Uncomment the next line to enable the admin: # 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', 'polls', )
python manage.py sql polls
python manage.py syncdb
를 차례로 실행시킨다.
이클립스는 아래와 같이...
이렇게 하면 sqlite.db 파일이 생성되는것을 확인 할 수 있다.
'Python > Python(Django)' 카테고리의 다른 글
Django tutorial part4. (Form 작성) (0) | 2013.04.19 |
---|---|
Django tutorial part3. 2/2 (화면 만들기) (0) | 2013.04.19 |
Django tutorial part3. 1/2 (화면 만들기) (0) | 2013.04.19 |
Django tutorial part2. (관리자 화면 활성화) (0) | 2013.04.18 |