Size: 5300
Comment:
|
Size: 6660
Comment: modify some format
|
Deletions are marked like this. | Additions are marked like this. |
Line 91: | Line 91: |
* DATABASE_HOST -- | * DATABASE_HOST -- The host your database is on. 만약 당신의 데이타베이스 서버가 같은 물리적인 기계를 사용한다면, 이것을 빈 문자열로 남겨라 (SQLite는 사용 안한다.) |
Line 93: | Line 93: |
{{| '''Note''' 여기에서 지정한 데이타베이스가 PostgreSQL 또는 MySQL 에 생성되어있어야 합니다. 당신이 사용하는 데이타베이스의 프롬프트에서 "CREATE DATABASE database_name;" 명령어로 데이터베이스를 만들 수 있다. |}} 데이터베이스에 Django 의 core 데이타베이스 테이블을 생성하기 위해서 다음 명령을 실행한다. {{{ python manage.py init }}} 어떤 에러 메세지도 보이지 않는다면, 작업이 완료된 것이다. 궁금하다면, 당신의 데이타베이스를 위한 명령행 클라이언트를 띄워서 ''\dt (PostgreSQL), SHOW TABLES; (MySQL), or .schema (SQLite)'' 같은 명령어를 입력해서 Django 에 의해서 생성된 테이블들을 볼 수 있다. {{| '''이 데이터베이스 테이블들에 대해서''' manage.py init 에 의해서 생성된 테이블 들은 Django 가 제공하는 세션, 인증 등 의 기능을 위해서 필요한 것들이다. Django 의 다음 릴리즈에서는 당신이 원하지 않는다면 어떤 테이블도 생성하지 않는 init 명령어의 간단한 형식이 제공 될 것이다. |}} |
Korean translation of http://www.djangoproject.com/documentation/tutorial1
당신의 첫번째 장고 application 만들기, part 1
이 문서는 Django 0.9.1을 다룬다. 구버전 : 0.90 docs
By Adrian Holovaty <holovaty@gmail.com>, Translated by [parkpro77]
예제로 배워보자.
이 듀토리얼을 통해서 우리는 당신에게 간단한 웹 투표 프로그램을 만드는 것을 알려줄 것이다.
웹 투표 프로그램은 두 부분으로 구성된다.
- 사람들이 투표를 제안하고 투표의 결과를 보게 하는 공식 페이지
- 당신이 비밀리에 투표를 추가하고, 바꾸고, 삭제하는 관리자 페이지
우리는 당신이 이미 장고를 설치했다고 가정한다.
초기설정
당신이 장고를 처음 사용하는 것이라면, 당신은 몇몇 초기설정에 주의해야 한다.
django-admin.py startproject myproject 명령을 실행하라. 그것은 당신의 현재 디렉토리에 myproject 디렉토리를 만들 것이다.
(만약 당신이 setup.py를 통해 장고를 설치했다면, django-admin.py는 당신의 시스템 경로에 있을 것이다. 만약 당신의 경로가 아니라면, 당신은 site-packages/django/bin 에서 그것을 찾을 수 있다. ; /usr/local/bin처럼 당신의 경로에 어떤 장소로부터 그것의 심볼릭 링크를 고려하라.)
{{| 이 코드가 어디에 있습니까?
당신의 배경이 [PHP]라면, 당신은 웹서버의 document root 아래 아마도 코드가 있을 것이다 (/var/www 같은 장소에). Django와 함께, 당신은 그것을 하지 마라. 당신의 웹서버의 document root 내에 이 파이썬 코드가 약간이라도 있는 것은 좋지 않다. 왜냐하면 그것은 사람들이 웹에서 당신의 코드를 볼지도 모르는 가능성을 감수해야 하기 때문이다. 그것은 보안상 좋지 않다.
당신의 코드를 /home/mycode 같이 document root의 바깥 디렉토리에 두어라. |}}
프로젝트는 데이타베이스 구성, 장고의 특별한 옵션, application의 특별한 설정을 포함하는 장고의 실례를 위한 설정의 모음이다.
myproject/ __init__.py manage.py settings.py urls.py
이 파일들은 :
- manage.py : 다양한 방식에서 장고 프로젝트와 상호작용하는 명령어 라인 프로그램.
- settings.py : 장고 프로젝트를 위한 설정/구성
- urls.py : 장고 프로젝트를 위한 URL 선언; 당신이 만든 장고 사이트의 "목차"
개발 서버
만약 당신이 가지고 있지 않다면, myproject 디렉토리로 가서, python manage.py runserver 명령을 실행하라. 당신은 명령어 라인에서 다음과 같은 출력을 보게 될 것이다.
Validating models... 0 errors found. Starting server on port 8000 with settings module 'myproject.settings'. Go to http://127.0.0.1:8000/ for Django. Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).
(만약 당신이 DATABASE_ENGINE에 대한 에러를 얻는다면, 정확한 데이타베이스를 찾아주기위해 DATABASE_ENGINE을 바꿔서 당신의 settings.py파일을 고치고, PostgreSql's psycopg 이나 MySql's MySqlDb 같은 설치 되어진 올바른 데이타베이스 라이브러리를 가져라.)
당신은 파이썬의 표준 라이브러리에 포함되어진 BaseHTTPServer를 만드는 장고 개발 서버, 표준이하이거나 단순한 파이썬 웹서버를 시작했다. 우리는 장고에 이런것들을 포함했다. 그래서 당신은 제작할 준비가 될때까지 구성하는 [Apache]를 처리하지 않아도 빠르게 이런것을 개발할 수 있다.
어떤것이라도 공통점이 있는 제작환경에서 이 서버를 사용하지 마라. 그것은 오직 개발하는 동안만 사용하기위해 의도된 것이다.
{{| 포트를 바꿔라
초기설정에 의해, runserver 명령은 포트 8000에서 개발을 시작한다. 당신이 서버의 포트를 바꾸길 원한다면, 그것을 명령어 라인 인수로서 바꿔라.
python manage.py runserver 8080
|}}
지금, 서버가 돌고 있는 상태에서, 당신의 웹브라우저를 통해 http://127.0.0.1:8000/ 을 방문하라. 당신은 연한 파란 색조의 산뜻한 "Welcome to Django"라는 페이지를 볼 것이다. 그것은 만들어졌다!
데이타베이스 설정
지금, settings.py를 고쳐라. 그것은 모듈 수준에서 다양하게 표현되어지는 장고 설정을 따르는 평범한 파이썬 모듈이다. 당신의 데이타베이스 연결 변수에 맞게 이 설정들을 바꿔라 :
- DATABASE_ENGINE -- 'postgresql', 'mysql' 또는 'sqlite3'. 곧 더 나온다.
- DATABASE_NAME -- 당신의 데이타베이스 이름, 만약 당신이 [Sqlite]를 사용한다면, 데이타베이스 파일의 완전한 경로
- DATABASE_USER -- 당신의 데이타베이스 유저네임 (SQLite는 사용 안한다.)
- DATABASE_PASSWORD -- 당신의 데이타베이스 패스워드 (SQLite는 사용 안한다.)
- DATABASE_HOST -- The host your database is on. 만약 당신의 데이타베이스 서버가 같은 물리적인 기계를 사용한다면, 이것을 빈 문자열로 남겨라 (SQLite는 사용 안한다.)
{{| Note
여기에서 지정한 데이타베이스가 PostgreSQL 또는 MySQL 에 생성되어있어야 합니다. 당신이 사용하는 데이타베이스의 프롬프트에서 "CREATE DATABASE database_name;" 명령어로 데이터베이스를 만들 수 있다. |}}
데이터베이스에 Django 의 core 데이타베이스 테이블을 생성하기 위해서 다음 명령을 실행한다.
python manage.py init
어떤 에러 메세지도 보이지 않는다면, 작업이 완료된 것이다.
궁금하다면, 당신의 데이타베이스를 위한 명령행 클라이언트를 띄워서 \dt (PostgreSQL), SHOW TABLES; (MySQL), or .schema (SQLite) 같은 명령어를 입력해서 Django 에 의해서 생성된 테이블들을 볼 수 있다.
{{| 이 데이터베이스 테이블들에 대해서
manage.py init 에 의해서 생성된 테이블 들은 Django 가 제공하는 세션, 인증 등 의 기능을 위해서 필요한 것들이다. Django 의 다음 릴리즈에서는 당신이 원하지 않는다면 어떤 테이블도 생성하지 않는 init 명령어의 간단한 형식이 제공 될 것이다. |}}
Creating models
Activating models