문제

Django Publisher 예제와 함께 일하고 있습니다. List_Publisher.html 템플릿을 통해 DB에 모든 게시자를 나열하고 싶습니다. 내 템플릿은 모양입니다.

{% 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/"템플릿은 오류없이 페이지 제목을 인쇄합니다! 내가 무엇을 잘못하고 있습니까?

도움이 되었습니까?

해결책

몇 가지 제안 :

  • base_site.html이 a를 정의하는지 확인하십시오 {% block content %}{% endblock %} 내 list_publisher.html에 의해 정정 될 섹션
  • 목록의 카디널리티를 확인하십시오. {%regroup publisher by name as pub_list %}{{ pub_list|length }}. 적어도 목록의 길이를 표시해야합니다. '0'이라면 ... 왜 아무것도 표시하지 않는지 알고 있습니다.
  • 목록이 재편성을 사용하기 전에 실제로 이름으로 정렬되었는지 확인하거나 {% regroup publisher|dictsort:"name" by name as pub_list %} 확인하기

길이가 '0'인 경우 게시자가 정의되어 있는지 확인해야합니다 (데이터베이스에서 초기화).

다시 말해, 어디서나 (템플릿 또는 정의 된 템플릿)가 나타 납니까 :

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

?
(다시 말하지만, 재편성 태그가 올바르게 작동하는지 확인하려면 이름별로 순서가 중요합니다)

다른 팁

Vonc의 좋은 답변.

pub_list를 보는 빠르고 더러운 방법은 [{{pub_list}}] 템플릿에서. 비어있는 경우를 대비하여 정사각형 괄호 안에 넣었습니다. BTW, 당신은 모양을 얻을 수 있습니다 [,,,,,]. 객체 참조가 <>에 싸여 있고 브라우저가 WTF로 이동하기 때문입니까? 보기 소스 만 있으면 전체 결과가 표시됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top