Frage

Am mit django Verlag Beispiel arbeiten, ich möchte den Verlegern alle über meine list_publisher.html Vorlage in der db aufzulisten, meine Vorlage aussieht;

{% 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 %}

aber wenn ich laufen " http://127.0.0.1:8000/list_publisher/ " die Vorlage druckt nur den Seitentitel ohne Fehler! Was mache ich falsch?

War es hilfreich?

Lösung

Einige Vorschläge:

  • Sie sicher, dass Ihr base_site.html einen {% block content %}{% endblock %} Abschnitt enthält keine Definition von Ihrem mein list_publisher.html verfeinern werden
  • überprüfen Sie die Mächtigkeit der Liste: {%regroup publisher by name as pub_list %}{{ pub_list|length }}. Das sollte die Länge der Liste zumindest angezeigt werden soll. Wenn ist ‚0‘ ... Sie wissen, warum es zeigt nichts an
  • Sie sicher, dass Ihre Liste in der Tat nach Namen sortiert wird, bevor mit Neugruppierung oder einen {% regroup publisher|dictsort:"name" by name as pub_list %} verwenden, um sicherzustellen,

Wenn die Länge ‚0‘ ist, müssen Sie sicher, dass Verleger machen definiert ist (wurde aus der Datenbank initialisiert wurde), und entsprechend sortiert.

Mit anderen Worten, sind Sie überall zu sehen (in der Vorlage oder in den definierten Vorlagen):

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

?
(Auch hier die Reihenfolge nach Namen wichtig ist, um sicherzustellen, dass Ihr Neugruppierung Tag funktioniert)

Andere Tipps

Gute Antwort von VonC.

Eine schnelle und schmutzige Art und Weise bei pub_list zu suchen ist [{{pub_list}}] in Ihrer Vorlage zu bleiben. Ich habe es in eckigen Klammern, falls es ist leer. BTW, können Sie etwas, das wie [,,,,,] aussieht. Dies liegt daran, Objektreferenzen eingewickelt werden in <> und Ihr Browser wird WTF? Sie einfach eine View Source und Sie werden das vollständige Ergebnis sehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top