2008-11-08 3 views
2

django와 협력 중입니다. 게시자 예를 들어, 내 list_publisher.html 템플릿을 통해 데이터베이스의 모든 게시자를 나열하려고합니다. 내 템플릿은 다음과 같습니다.Django 모델의 항목을 어떻게 나열합니까?

{% extends "admin/base_site.html" %} 
{% block title %}List of books by publisher{% endblock %} 
{% block content %} 

<div id="content-main"> 
<h1>List of publisher:</h1> 

{%regroup publisher by name as pub_list %} 


{% for pub in pub_list %} 


<li>{{ pub.name }}</li> 

{% endfor %} 
</div> 
{% endblock %} 

하지만 실행할 때 "http://127.0.0.1:8000/list_publisher/은"템플릿은 오류없이 페이지 제목을 인쇄! 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

그냥 추가 게시자 정의 및 order_by 제안 – VonC

답변

3

몇 가지 제안 : {%regroup publisher by name as pub_list %}{{ pub_list|length }} : 당신의 base_site.html가 {% block content %}{% endblock %} 섹션을 정의하지

  • 검사는 내 list_publisher.html
  • 검사 목록의 중요도 세부 검색합니다. 적어도 목록의 길이를 표시해야합니다. 경우 '0'... 당신은 당신의 명부가 참으로 재 그룹 사용하기 전에 이름으로 분류되는 것을 아무것도에게
  • 검사를 표시하거나 길이 인 경우

확인하기 위해 {% regroup publisher|dictsort:"name" by name as pub_list %}를 사용하지 않는 이유를 알고 '0', 게시자가 정의되어 있는지 (데이터베이스에서 초기화되었는지) 확인하고 적절히 정렬해야합니다. 다른 단어에서

, 당신은 (정의 된 템플릿 템플릿 또는에서) 어디를 참조하십시오

publisher = Publisher.objects.all().order_by("name") 

?
(재편성 태그가 제대로 작동하는지 확인하려면 이름순으로 중요 함)

+0

길이는 0이며,하지만 관리 인터페이스를 통해이를 확인 때 4 개 레코드가 ?? – gath

+0

즉,이 페이지 생성에 도달하면 게시자를 알 수 없거나 선언되지 않습니다. – VonC

0

VonC의 답변. pub_list 보는

신속하고 더러운 방법은 템플릿에 [{{pub_list}}]을 고수하는 것입니다. 비어있는 경우 대괄호 안에 넣었습니다. 그런데 [,,,,,]과 비슷한 것을 얻을 수 있습니다. 이는 객체 참조가 <>에 싸여 있고 브라우저가 WTF가 될 것이기 때문입니다. 보기 소스 만하면 전체 결과가 표시됩니다.

관련 문제