Управление отображением методов в шаблоне - PullRequest
1 голос
/ 16 января 2010

У меня есть следующее в представлении (отношения внешнего ключа через _set):

srvr = Server.objects.get(name=q)
return render_to_response('search_results.html',
    {'drv': srvr.drive_set.all(), 'memry': srvr.memory_set.all(), 'query': q})

Шаблон результатов включает в себя:

{% if drv %}
<table>
    <tr>
        <td>{{ drv }}</td>
    </tr>
</table>
{% endif %}
{% if memry %}
     <li>{{ memry }}</li>
 {% endif %}

Вывод выглядит так:

[<Drive: IBM IBM-500 1111111 500Gb SATA>, <Drive: IBM IBM-500 2222222 500Gb SATA]  
[<Memory: Samsung 512>, <Memory: Samsung 512>, <Memory: Samsung 512>]

Мне известен этот результат метода " unicode () " в классах "Drive" и "Memory".

Как я могу управлять выводом / форматированием, чтобы не отображались скобки и имя класса, а были только определенные поля.

1 Ответ

4 голосов
/ 16 января 2010

drv и memry будут повторяемыми, и вы можете перемещаться по ним с помощью тега for ...

{% if drv %}
<table>
    {% for d in drv %}
    <tr>
        <td>{{ d.name }}</td><td>{{ d.size }}</td>
    </tr>
    {% endfor %}
</table>
{% endif %}

.name и .size являются свойствами любой модели, представленной d. Заполните это любыми существующими деталями, которые вы хотите визуализировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...