Size: 6422
Comment:
|
Size: 7120
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 111: | Line 111: |
당신은 코드를 작성하지 않았지만 몇 분후에 놀랄만한 일이 벌어진다. | |
Line 112: | Line 113: |
비트로 이것을 만들자. 우리는 meta.Admin에 fields변수를 추가하는 것에 의해 항목들을 재주문할 수 있다: {{{ admin = meta.Admin( fields = ( (None, {'fields': ('pub_date', 'question')}), ), ) }}} 그것은 두번째 대신에 첫번째로 보여지는 "Publication date" 를 만들었다. attachment:admin07.png 오직 두개의 항목은 인상적이지 않지만, 직관적인 주문을 하기 위한 수십개의 관리자 폼은 중요하게 사용하는 항목이다. 수십개의 항목들을 가진 폼들이 말하는 것은 |
Korean translation of http://www.djangoproject.com/documentation/tutorial1
당신의 첫번째 장고 프로그램 만들기, part 2
이 문서는 Django 0.9.1을 다룬다. 구버전 : 0.90 docs
By Adrian Holovaty <holovaty@gmail.com>, Translated by [parkpro77]
튜토리얼 1을 끝마치면 이 튜토리얼을 시작한다. 우리는 웹 투표 프로그램을 계속 만들 것이고, 장고가 자동적으로 생성하는 관리자 싸이트에 초점을 맞출 것이다.
{{| 원리
당신의 부원이나 고객을 위해 내용을 추가하고, 바꾸고, 삭제하기 위한 관리자 싸이트를 생성하는 것은 많은 창조성을 필요로 하지 않는 지루한 작업이다. 장고는 모델을 위한 관리자 인터페이스의 창조가 완전하게 자동이다.
장고는 출판업자와 공적인 싸이트 사이가 완전하게 분리되어진 편집국에서 쓰여졌다. 싸이트 관리자는 뉴스 이야기, 이벤트, 스포츠 점수 등을 추가하기 위해 이 시스템을 사용하고, 내용은 공적인 싸이트에 보여졌다. 장고는 싸이트 관리자를 위해 내용을 추가하기 위한 통합된 인터페이스를 만드는 문제를 푼다.
관리자는 싸이트 방문자에 의해 사용되어지는 필연적인 경향은 없다. 그것은 싸이트 관리자를 위한 것이다. |}}
관리자 싸이트 작동 시키기
장고 관리자 싸이트는 디폴트 값에 의해 작동되어지지 않는다. -- 그것은 어떤 것에 가입을 결정한다. 설치를 위해서 관리자 싸이트를 작동시키기 위해, 이 세가지를 하라:
- 당신의 INSTALLED_APPS 를 구성하기 위해 django.contrib.admin 를 추가하라.
- python manage.py install admin 명령을 실행하라. 이것은 관리자가 필요한 여분의 데이타베이스를 만들 것이다.
- myproject/urls.py 파일에 편집창을 열고, Uncomment this for admin: 아래 라인을 주석처리 하지 않는다. 이 파일은 URLconf 이다; 우리는 다음 튜토리얼에서 URLconf 를 자세히 볼 것이다. 우선은, 당신이 알기 위해 필요한 모든 것은 프로그램들에서 URL roots를 배치하는 것이다.
사용자 계정 만들기
당신의 관리자 싸이트를 위한 슈퍼유저 계정을 만들기 위해 다음 명령을 실행하라.
python manage.py createsuperuser
이 스크립트는 유저네임, 이메일 주소, 패스워드 (두번)를 물어볼 것이다.
개발 서버 시작하기
개발 서버를 시작하고, 관리자 싸이트로 들어가자.
튜토리얼 1에서 했던 것처럼 개발 서버를 시작하라.
python manage.py runserver
이제, 웹 브라우저를 열고, 당신의 로컬 도메인의 "/admin/"으로 가라 -- 예를 들면, http://127.0.0.1:8000/admin/. 그러면 관리자 로그인 화면을 볼 것이다.
attachment:admin01.png
관리자 싸이트에 들어가기
이제, 로그인을 시도하자. 당신은 장고 관리자 인덱스 페이지를 볼 것이다.
attachment:admin02.png
디폴트값에 의해, 당신은 편집할 수 있는 내용의 두 형식인 groups와 users를 볼 것이다. 이것들은 장고 ships의 핵심적인 특징이다.
관리자가 수정할 수 있는 투표 프로그램 만들기
우리의 투표 프로그램은 어디에 있을까? 그것은 관리자 인덱스 페이지에는 보여지지 않는다.
한가지 방법이 있다: Poll 객체들이 관리자 인터페이스를 가진다는 Poll 모델에서 우리는 . myproject/polls/models/polls 파일의 편집창을 열고, 관리자 속성을 가진 META 클래스를 추가하기 위해 다음처럼 변환하라.
class Poll(meta.Model): # ... class META: admin = meta.Admin()
클래스 META는 이 모델에 대한 항목이 없는 모든 META 데이타를 포함한다.
이제 당신이 편집한 것을 보기 위해 장고 관리자 페이지로 가라. 개발서버를 재시작하지 않는다는 것에 주목하라 -- 그것은 자동 연결 코드이다.
공짜 관리자 기능 알아보기
이제 Poll은 관리자 속성을 가지고, 그것은 관리자 인덱스 페이지를 보여줄 것이다.
attachment:admin03.png
"Polls"을 클릭하라. 이제 당신은 "change list" 페이지에 있다. 이 페이지는 데이타베이스 모든 polls을 보여주고, 그것을 바꾸기 위해 하나를 선택하자. 튜토리얼 1에서 만들었던 "What's up?" poll 이 있다.
attachment:admin04.png
"What's up?" poll 을 바꾸기 위해 그것을 클릭하라.
attachment:admin05.png
여기에서 주목할만한 것들:
- 그 양식은 Poll 모델로부터 자동적으로 생성되어졌다.
다른 모델 항목 유형들 (meta.DateTimeField, meta.CharField)은 고유의 HTML 입력과 일치한다. 각 항목의 유형은 장고 관리 안에서 그것 자신이 어떻게 보여지는지 알고 있다.
각 DateTimeField 는 공짜 자바스크립트 shortcuts을 얻는다. Dates는 "Today" shortcut 과 달력 팝업을 얻고, times는 "Now" shortcut 과 일반적으로 등록된 시간을 기입하는 편리한 팝업을 얻는다.
페이지의 아래 부분은 몇몇 옵션을 준다:
- Save -- 바꾼 것을 저장하고, 객체의 유형을 위해 change-list page 로 돌아온다.
- Save and continue editing -- 바꾼 것을 저장하고, 이 객체를 위해 관리자 페이지로 다시 돌아온다.
- Save and add another -- 바꾼 것을 저장하고, 새롭게 빈 형태로 돌아온다.
- Delete -- 확인 페이지 삭제하는 것을 보여준다.
"Today" and "Now" shortcuts 을 클릭하기 위해서 "Date published"를 바꿔라. 그 때, "Save and continue editing" 을 클릭하라. 그리고 나서, 오른쪽 위에 "History" 를 클릭하라. 바꾼 사람의 timestamp와 사용자이름과 함께, 장고 관리자를 경유해서 이 객체를 만들었던 모든 과정들을 페이지에서 볼 수 있을 것이다.
attachment:admin06.png
관리자 폼의 주문 제작
당신은 코드를 작성하지 않았지만 몇 분후에 놀랄만한 일이 벌어진다.
비트로 이것을 만들자. 우리는 meta.Admin에 fields변수를 추가하는 것에 의해 항목들을 재주문할 수 있다:
admin = meta.Admin( fields = ( (None, {'fields': ('pub_date', 'question')}), ), )
그것은 두번째 대신에 첫번째로 보여지는 "Publication date" 를 만들었다.
attachment:admin07.png
오직 두개의 항목은 인상적이지 않지만, 직관적인 주문을 하기 위한 수십개의 관리자 폼은 중요하게 사용하는 항목이다.
수십개의 항목들을 가진 폼들이 말하는 것은
Adding related objects
Customize the admin change list
Customize the admin look and feel