Code

Changes between Version 3 and Version 4 of DjangoDocumentKoreanTranslation/tutorial02


Ignore:
Timestamp:
12/10/07 07:24:03 (6 years ago)
Author:
spike
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DjangoDocumentKoreanTranslation/tutorial02

    v3 v4  
    6565 
    6666 
    67 = 관리 사이트에서 관리할 수 있도로 ㄱpoll 어플리케이션을 바꿔봅니다. = 
     67= 관리 사이트에서 관리할 수 있도poll 어플리케이션을 바꿔봅니다. = 
    6868 
    6969이전 페이지에서 만들었던 poll 어플리케이션이 보이질 않습니다. 아직 
     
    271271}}} 
    272272이전 페이지에서 설명한 {{{was_published_today}}} 메소드도 
    273 포함시켜봅니다. 
    274  
    275     list_display = ('question', 'pub_date', 'was_published_today') 
    276  
     273포함시켜봅니다.: 
     274{{{ 
     275list_display = ('question', 'pub_date', 'was_published_today') 
     276}}} 
    277277이제 Poll change list가 아래와 같이 보입니다.: 
    278278 
     
    302302<a target="http://media.djangoproject.com/img/doc/tutorial/admin14.png" href="http://media.djangoproject.com/img/doc/tutorial/admin14.png"><img src="http://media.djangoproject.com/img/doc/tutorial/admin14t.png" alt="개선된 Polls change list 페이지" /></a> 
    303303}}} 
    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." 
    308  
    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)" 
     307 
     308이제 검색을 해볼까요?: 
    310309{{{ 
    311310search_fields = ['question'] 
    312311}}} 
    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. 
    317  
    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사용하긴 하지만, 합리적인 선에서 데이터베이스를 다룰 수 있습니다. 
     316 
     317마침내 {{{Poll}}} 객체는 날짜들을 가지고 있어서 아래와 같이 추가해서 
     318날짜를 기준으로 펼쳐보일 수 있습니다.: 
    320319{{{ 
    321320date_hierarchy = 'pub_date' 
    322321}}} 
    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. 
    326  
    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. 
    331  
    332 = Customize the admin look and feel = 
    333  
    334 Clearly, having "Django administration" at the top of each admin page is 
    335 ridiculous. It's just placeholder text. 
    336  
    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!) 
    340  
    341 Open your settings file ({{{mysite/settings.py}}}, 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. 
    344  
    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위에 모든 년도가 표시됩니다. 그 아래 월과 날짜가 펼쳐집니다. 
     324 
     325이제 "change list"를 페이지 순서대로 넘겨보는 얘길 해봅시다. 기본으로 
     32650개가 표시됩니다. 페이지, 검색 박스, 필터, 날짜 기준의 단계적인 구조, 
     327컬럼-헤더 순서로 표시하기가 맘먹은 대로 모두 함께 동작합니다. 
     328 
     329= 관리자 페이지 바꿔보기 = 
     330 
     331관리자 페이지 맨 위 "장고 관리(Django administration)" 글자는 단지 
     332글자일 뿐입니다. 
     333 
     334장고 템플릿을 사용해서 쉽게 바꿀 수 있습니다. 장고 관리자 페이지는 
     335장고가 기본으로 가지고 있는 거라서 관리자 페이지의 모습은 장고 고유의 
     336템플릿을 사용합니다. 
     337 
     338settings 파일을 열어서 ({{{mysite/settings.py}}}를 기억하시죠?!) 
     339{{{TEMPLATE_DIRS}}}을 찾아보세요. {{{TEMPLATE_DIRS}}} 장고 템플릿 파일을 
     340읽어들일 때 사용하는 디렉토리를 튜플로 묶은 것입니다. 
     341 
     342기본으로 {{{TEMPLATE_DIRS}}}은 비어 있습니다. 그래서 넣어줘야 겠죠.: 
    347343{{{ 
    348344TEMPLATE_DIRS = ( 
     
    350346) 
    351347}}} 
    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. 
    359  
    360 Then, just edit the file and replace the generic Django text with your own 
    361 site's name as you see fit. 
    362  
    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. 
    367  
    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. 
    373  
    374  
    375 = Customize the admin index page = 
    376  
    377 On a similar note, you might want to customize the look and feel of the Django 
    378 admin index page. 
    379  
    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. 
    384  
    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. 
    392  
    393 Django offers another shortcut in this department. Run the command 
    394 {{{python manage.py adminindex polls}}} to get a chunk of template code for 
    395 inclusion in the admin index template. It's a useful starting point. 
    396  
    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]. 
    399  
    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"}}}로 지정했습니다. 
     353{{{django/contrib/admin/templates/admin/base_site.html}}}를 
     354{{{/home/my_username/mytemplates/admin/base_site.html}}}로 복사합니다. 
     355{{{admin}}} 디렉토리를 새로 만들었다는 것을 잊지마세요. 
     356 
     357그리고 파일을 열어서 여러분의 사이트 이름으로 바꿔서 편집해봅니다. 
     358 
     359어느 장고 관리자 템플릿도 위처럼 바꿀 수 있습니다. 
     360 
     361영리한 분이라면 이렇게 물을 것입니다.: {{{TEMPLATE_DIRS}}}이 원래 
     362비어있는데, 장고는 관리사이트의 템플릿을 어떻게 찾을 수 있나요? 해답은 
     363이렇습니다. 장고는 내부적으로 각 장고 어플리케이션 디렉토리에서 
     364{{{templates/}}} 디렉토리를 찾아서 템플릿 디렉토리로 사용하려고 합니다. 
     365자세한 설명은 [wiki:DjangoDocumentKoreanTranslation/templates_python/#loader-types 템플릿 읽어들이는 여러 형태]를 읽어보세요. 
     366 
     367 
     368= 관리자 첫페이지를 바꿔봅니다. = 
     369 
     370장고 관리자 첫 페이지의 모양을 바꾸려고 합니다. 
     371 
     372기본적으로 {{{INSTALLED_APPS}}}에 등록된 모든 장고어플리케이션을 
     373보여줍니다. 하지만, 순서는 정해지지 않아서 순서를 정하고 싶기도 
     374하겠죠. 관리자 첫페이지는 관리에서 가장 중요하고 사용하기 편리해야 
     375합니다. 
     376 
     377바꿔야 할 파일은 {{{admin/index.html}}}입니다. (앞에서 설명한 
     378{{{admin/base_site.html}}}과 비슷한 과정입니다. - 기본 디렉토리에서 
     379여러분의 템플릿 디렉토리로 복사해오세요.) 파일에서 ``{% 
     380get_admin_app_list as app_list %}``을 찾아보세요. 설치된 장고 
     381어플리케이션을 가져오는 부분입니다. 이거 대신에 객체를 가리키는 링크를 
     382사용할 수도 있습니다. 
     383 
     384장고는 조금 다른 방법도 제공합니다. ``python manage.py adminindex 
     385polls``을 명령행에서 실행해보세요. 관리 첫 페이지에 사용하는 템플릿 
     386코드를 밷어냅니다. 처음 시작하기엔 좋은 방법이죠. 
     387 
     388[wiki:DjangoDocumentKoreanTranslation/admin_css/ 장고 관리자 CSS 설명서]는 장고 관리자 페이지의 모양을 바꾸는 자세한 
     389방법을 설명합니다. 참고하세요. 
     390 
     391관리자 페이지가 이제 익숙해지면, [wiki:DjangoDocumentKoreanTranslation/tutorial03/ 세번째: 간단한 뷰(view) 만들기]에서 
     392poll에서 view을 작성해보세요.