Преобразование HTML в представлениях в шаблоны в Django - PullRequest
1 голос
/ 28 апреля 2011

У меня проблемы с пониманием преобразования между встроенным HTML-файлом в файле views.py, а также с выделением HTML-файла из файла views и помещением его в папку шаблонов Например, в примере из Книги Джанго - http://djangobook.com/en/2.0/chapter07/

Файл Views.py имеет следующий код:

def display_meta(request):
    values=request.META.items()
    values.sort()
    html = []
    for k,v in values:
        html.append('<tr><td>%s</td><td>%s</td></tr>'%(k,v,))
    return HttpResponse('<table>%s</table>' % '\n'.join(html))

Как бы я разделил это в файл видов и шаблонов. Это то, что у меня сейчас есть (но оно не работает - то есть, оно отображает пустую страницу) -

(в views.py)

    def display_meta(request):
        items = request.META.items().sort()
        return render_to_response('display_meta.html', {'items':items})

(в templates / display_meta.html)

<html>
<head></head>
<body>
<table>
{% for x, y in items %}
<tr>
    <td>
        {{x}}
    </td>
    <td>
        {{y}}
    </td>
</tr>
{% endfor %}
</table>
</body>
</html>

Спасибо.

1 Ответ

4 голосов
/ 28 апреля 2011

Это потому, что это строка кода:

request.META.items().sort()

не возвращается ни один. Если вы удалите .sort (), вы увидите данные.

Если вам интересно, почему, это потому, что он сортирует словарь и ничего не возвращает Чтобы обойти это сделать:

items  = request.META.items()
items.sort()
return render_to_response('display_meta.html', {'items':items})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...