Changes between Version 3 and Version 4 of DjangoDocumentKoreanTranslation/tutorial02

12/10/07 09:24:03 (9 years ago)



  • DjangoDocumentKoreanTranslation/tutorial02

    v3 v4  
    67 = 관리 사이트에서 관리할 수 있도로 ㄱpoll 어플리케이션을 바꿔봅니다. =
     67= 관리 사이트에서 관리할 수 있도poll 어플리케이션을 바꿔봅니다. =
    6969이전 페이지에서 만들었던 poll 어플리케이션이 보이질 않습니다. 아직
    272272이전 페이지에서 설명한 {{{was_published_today}}} 메소드도
    273 포함시켜봅니다.
    275     list_display = ('question', 'pub_date', 'was_published_today')
     275list_display = ('question', 'pub_date', 'was_published_today')
    277277이제 Poll change list가 아래와 같이 보입니다.:
    302302<a target="" href=""><img src="" alt="개선된 Polls change list 페이지" /></a>
    304 The type of filter displayed depends on the type of field you're filtering on.
    305 Because {{{pub_date}}} is a DateTimeField, Django knows to give the default
    306 filter options for DateTimeFields: "Any date," "Today," "Past 7 days,"
    307 "This month," "This year."
    309 This is shaping up well. Let's add some search capability:
     304보이는 필터는 필터링된 필드에 따라서 표시됩니다. {{{pub_date}}}는
     305{{{DateTimeField}}}이기 때문에 장고는 {{{DateTimeField}}}에 몇가지 기본
     306필터 옵션을 가지고 있습니다.: "아무 날짜(Any date)", "오늘(Today)", "지난 7일동안(Past 7 days)", "이번 달(This month)", "올해(This year)"
     308이제 검색을 해볼까요?:
    311310search_fields = ['question']
    313 That adds a search box at the top of the change list. When somebody enters
    314 search terms, Django will search the {{{question}}} field. You can use as many
    315 fields as you'd like - although because it uses a {{{LIKE}}} query behind the
    316 scenes, keep it reasonable, to keep your database happy.
    318 Finally, because Poll objects have dates, it'd be convenient to be able to
    319 drill down by date. Add this line:
     312"change list" 맨 위에 검색 폼이 추가됩니다. 검색질의를 입력하면 장고는
     313{{{question}}} 필드에서 찾아 결과를 보여줍니다. 여러분은 이와 같이
     314다양한 필드에 적용할 수 있습니다. - 비록 내부에서는 {{{LIKE}}} 질의를
     315사용하긴 하지만, 합리적인 선에서 데이터베이스를 다룰 수 있습니다.
     317마침내 {{{Poll}}} 객체는 날짜들을 가지고 있어서 아래와 같이 추가해서
     318날짜를 기준으로 펼쳐보일 수 있습니다.:
    321320date_hierarchy = 'pub_date'
    323 That adds hierarchical navigation, by date, to the top of the change list page.
    324 At top level, it displays all available years. Then it drills down to months
    325 and, ultimately, days.
    327 Now's also a good time to note that change lists give you free pagination. The
    328 default is to display 50 items per page. Change-list pagination, search boxes,
    329 filters, date-hierarchies and column-header-ordering all work together like you
    330 think they should.
    332 = Customize the admin look and feel =
    334 Clearly, having "Django administration" at the top of each admin page is
    335 ridiculous. It's just placeholder text.
    337 That's easy to change, though, using Django's template system. The Django admin
    338 is powered by Django itself, and its interfaces use Django's own template
    339 system. (How meta!)
    341 Open your settings file ({{{mysite/}}}, remember) and look at the
    342 {{{TEMPLATE_DIRS}}} setting. {{{TEMPLATE_DIRS}}} is a tuple of filesystem
    343 directories to check when loading Django templates. It's a search path.
    345 By default, {{{TEMPLATE_DIRS}}} is empty. So, let's add a line to it, to tell
    346 Django where our templates live:
     322"change list" 페이지에 날짜를 기준으로 단계적인 구조를 추가합니다. 맨
     323위에 모든 년도가 표시됩니다. 그 아래 월과 날짜가 펼쳐집니다.
     325이제 "change list"를 페이지 순서대로 넘겨보는 얘길 해봅시다. 기본으로
     32650개가 표시됩니다. 페이지, 검색 박스, 필터, 날짜 기준의 단계적인 구조,
     327컬럼-헤더 순서로 표시하기가 맘먹은 대로 모두 함께 동작합니다.
     329= 관리자 페이지 바꿔보기 =
     331관리자 페이지 맨 위 "장고 관리(Django administration)" 글자는 단지
     332글자일 뿐입니다.
     334장고 템플릿을 사용해서 쉽게 바꿀 수 있습니다. 장고 관리자 페이지는
     335장고가 기본으로 가지고 있는 거라서 관리자 페이지의 모습은 장고 고유의
     336템플릿을 사용합니다.
     338settings 파일을 열어서 ({{{mysite/}}}를 기억하시죠?!)
     339{{{TEMPLATE_DIRS}}}을 찾아보세요. {{{TEMPLATE_DIRS}}} 장고 템플릿 파일을
     340읽어들일 때 사용하는 디렉토리를 튜플로 묶은 것입니다.
     342기본으로 {{{TEMPLATE_DIRS}}}은 비어 있습니다. 그래서 넣어줘야 겠죠.:
    348344TEMPLATE_DIRS = (
    352 Now copy the template {{{admin/base_site.html}}} from within the default Django
    353 admin template directory ({{{django/contrib/admin/templates}}}) into an {{{admin}}}
    354 subdirectory of whichever directory you're using in {{{TEMPLATE_DIRS}}}. For
    355 example, if your {{{TEMPLATE_DIRS}}} includes {{{"/home/my_username/mytemplates"}}},
    356 as above, then copy {{{django/contrib/admin/templates/admin/base_site.html}}} to
    357 {{{/home/my_username/mytemplates/admin/base_site.html}}}. Don't forget that
    358 {{{admin}}} subdirectory.
    360 Then, just edit the file and replace the generic Django text with your own
    361 site's name as you see fit.
    363 Note that any of Django's default admin templates can be overridden. To
    364 override a template, just do the same thing you did with {{{base_site.html}}} --
    365 copy it from the default directory into your custom directory, and make
    366 changes.
    368 Astute readers will ask: But if {{{TEMPLATE_DIRS}}} was empty by default, how was
    369 Django finding the default admin templates? The answer is that, by default,
    370 Django automatically looks for a {{{templates/}}} subdirectory within each app
    371 package, for use as a fallback. See the [wiki:DjangoDocumentKoreanTranslation/templates_python/#loader-types loader types documentation] for full
    372 information.
    375 = Customize the admin index page =
    377 On a similar note, you might want to customize the look and feel of the Django
    378 admin index page.
    380 By default, it displays all available apps, according to your {{{INSTALLED_APPS}}}
    381 setting. But the order in which it displays things is random, and you may want
    382 to make significant changes to the layout. After all, the index is probably the
    383 most important page of the admin, and it should be easy to use.
    385 The template to customize is {{{admin/index.html}}}. (Do the same as with
    386 {{{admin/base_site.html}}} in the previous section - copy it from the default
    387 directory to your custom template directory.) Edit the file, and you'll see it
    388 uses a template tag called {{{ {% get_admin_app_list as app_list %} }}}. That's the
    389 magic that retrieves every installed Django app. Instead of using that, you can
    390 hard-code links to object-specific admin pages in whatever way you think is
    391 best.
    393 Django offers another shortcut in this department. Run the command
    394 {{{python adminindex polls}}} to get a chunk of template code for
    395 inclusion in the admin index template. It's a useful starting point.
    397 For full details on customizing the look and feel of the Django admin site in
    398 general, see the [wiki:DjangoDocumentKoreanTranslation/admin_css/ Django admin CSS guide].
    400 When you're comfortable with the admin site, read [wiki:DjangoDocumentKoreanTranslation/tutorial03/ part 3 of this tutorial] to
    401 start working on public poll views.
     348그럼 이제 기본 장고 관리자 페이지의 템플릿
     349디렉토리({{{django/contrib/admin/templates}}})에서 {{{TEMPLATE_DIRS}}}에
     350지정한 디렉토리 아래에 {{{admin}}} 디렉토리에 {{{admin/base_site.html}}}를
     351복사합니다. 예를 들어서 {{{TEMPLATE_DIRS}}}에
     352{{{"/home/my_username/mytemplates"}}}로 지정했습니다.
     354{{{/home/my_username/mytemplates/admin/base_site.html}}}로 복사합니다.
     355{{{admin}}} 디렉토리를 새로 만들었다는 것을 잊지마세요.
     357그리고 파일을 열어서 여러분의 사이트 이름으로 바꿔서 편집해봅니다.
     359어느 장고 관리자 템플릿도 위처럼 바꿀 수 있습니다.
     361영리한 분이라면 이렇게 물을 것입니다.: {{{TEMPLATE_DIRS}}}이 원래
     362비어있는데, 장고는 관리사이트의 템플릿을 어떻게 찾을 수 있나요? 해답은
     363이렇습니다. 장고는 내부적으로 각 장고 어플리케이션 디렉토리에서
     364{{{templates/}}} 디렉토리를 찾아서 템플릿 디렉토리로 사용하려고 합니다.
     365자세한 설명은 [wiki:DjangoDocumentKoreanTranslation/templates_python/#loader-types 템플릿 읽어들이는 여러 형태]를 읽어보세요.
     368= 관리자 첫페이지를 바꿔봅니다. =
     370장고 관리자 첫 페이지의 모양을 바꾸려고 합니다.
     372기본적으로 {{{INSTALLED_APPS}}}에 등록된 모든 장고어플리케이션을
     373보여줍니다. 하지만, 순서는 정해지지 않아서 순서를 정하고 싶기도
     374하겠죠. 관리자 첫페이지는 관리에서 가장 중요하고 사용하기 편리해야
     377바꿔야 할 파일은 {{{admin/index.html}}}입니다. (앞에서 설명한
     378{{{admin/base_site.html}}}과 비슷한 과정입니다. - 기본 디렉토리에서
     379여러분의 템플릿 디렉토리로 복사해오세요.) 파일에서 ``{%
     380get_admin_app_list as app_list %}``을 찾아보세요. 설치된 장고
     381어플리케이션을 가져오는 부분입니다. 이거 대신에 객체를 가리키는 링크를
     382사용할 수도 있습니다.
     384장고는 조금 다른 방법도 제공합니다. ``python adminindex
     385polls``을 명령행에서 실행해보세요. 관리 첫 페이지에 사용하는 템플릿
     386코드를 밷어냅니다. 처음 시작하기엔 좋은 방법이죠.
     388[wiki:DjangoDocumentKoreanTranslation/admin_css/ 장고 관리자 CSS 설명서]는 장고 관리자 페이지의 모양을 바꾸는 자세한
     389방법을 설명합니다. 참고하세요.
     391관리자 페이지가 이제 익숙해지면, [wiki:DjangoDocumentKoreanTranslation/tutorial03/ 세번째: 간단한 뷰(view) 만들기]에서
     392poll에서 view을 작성해보세요.
Back to Top