Шаблон Джанго, если со списком - PullRequest
1 голос
/ 17 сентября 2011

У меня есть шаблон Django, и я думаю, что здесь есть некоторая синтаксическая ошибка с моим оператором if. `

<head>
<link rel="stylesheet" type="text/css" href="/static/css/styles.css" /> 
<Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Testing the class page</h1>

<div id = "bookResults">
<ul>
{% if books %}
    {% for book in books %}
        <li>
            <div class="bookDisplay">
                <div>
                    <text class= "text" id = "bookTitle">{{ book.title|safe }}</text><br/>
                    <text class= "text" id= "bookAuthor">by {{ book.author|safe }}</text><br/>
                    <text class = "test" id = "bookDetails">
                        ISBN: {{ book.isbn|safe }}
                        Bookstore Price: {{ book.price }}

                    </text><br/>
                    <img src= "{{ book.imageURL }}" class = "bookImage" />
                </div>
            </div>
        </li>   
    {% endfor %}
{% else %}
    <h2>Sorry, no books or classes were found- can you try searching again?"</h2>
{% endif %}
</ul>
</div>

</body> 

</html>`

Я в основном пытаюсь сказать - если книги (которые являются списком) имеют значение, тогда делайте все ниже его, если нет, делайте что-то еще - я уже пробовал {{if books | length> 0}} но безрезультатно

что я должен сделать, чтобы получить это, если работает?

Спасибо

1 Ответ

8 голосов
/ 17 сентября 2011

В этом коде нет ничего плохого. Вы также можете написать это так:

<ul>
{% for book in books %}
    <li>...</li>
{% empty %}
    <h2>Sorry, no books</h2>
{% endfor %}
</ul>

Если это не работает должным образом, значит, вы передаете неверный контекст в шаблон.

...