Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 23, 2009 21:38:18

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

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))
В качестве упражнения, вы можете преобразовать данный код для использования возможностей шаблонной системы Django, а не использовать «сырой» HTML.

def display_meta(request):
values = request.META.items()
values.sort()
htmlist = []
for k, v in values:
htmlist.append('%s %s\n' % (k, v))
html=''.join(htmlist)
return render_to_response('display_meta.html', {'html': html})
подскажите как, вот так не получается, почему \n не переводит строку? все перепробовал, не могу понять как!



Офлайн

#2 Ноя. 23, 2009 22:54:50

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

В html разве нетег <br> переводит строку?

Офлайн

#3 Ноя. 23, 2009 23:24:38

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

Ferroman
В html разве нетег <br> переводит строку?
да он, если знаете будьте добры приведите пример где и как его задействовать, не совсем понятно если список не склевать в строку то я вижу их \n и <br> в конце строки, но когда join делает строку она не переводиться !



Отредактировано (Ноя. 23, 2009 23:51:11)

Офлайн

#4 Ноя. 24, 2009 00:09:38

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

Я ни слова не понял.
Что есть в “display_meta.html”?
Что именно вы ждёте в результате, и что получаете?

Офлайн

#5 Ноя. 24, 2009 00:36:41

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

Ferroman
Я ни слова не понял.
Что есть в “display_meta.html”?
Что именно вы ждёте в результате, и что получаете?
{% extends “base1.html” %}

{% block title %}User info{% endblock %}

{% block content %}
<html>
<body>
{{html}}
</body>
</html>
{% endblock %}

это “display_meta.html”

это функция делает

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))

так

ALLUSERSPROFILE C:\Documents and Settings\All Users
APPDATA C:\Documents and Settings\X\Application Data
CLIENTNAME Console
COMMONPROGRAMFILES C:\Program Files\Common Files
COMPUTERNAME X-DEA38E68887C4
COMSPEC C:\WINDOWS\system32\cmd.exe
CONTENT_LENGTH
CONTENT_TYPE text/plain
DJANGO D:\Python26\Lib\site-packages\django
………………..
…………………..

мне надо преобразовать данный код для использования возможностей шаблонной системы Django, а не использовать «сырой» HTML.


если так сделать
def display_meta(request):
values = request.META.items()
values.sort()
htmlist =
for k, v in values:
htmlist.append('%s %s\n' % (k, v))
html='<br>'.join(htmlist)
return render_to_response('display_meta.html', {'html': html})

ALLUSERSPROFILE C:\Documents and Settings\All Users <br>APPDATA C:\Documents and Settings\X\Application Data <br>CLIENTNAME Console <br>COMMONPROGRAMFILES C:\Program Files\Common Files <br>COMPUTERNAME X-DEA38E68887C4 <br>COMSPEC C:\WINDOWS\system32\cmd.exe <br>CONTENT_LENGTH <br>CONTENT_TYPE text/plain <br>DJANGO D:\Python26\Lib\site-packages\django <br>DJANGO_SETTINGS_MODULE mysite.settings <br>FP_NO_HOST_CHECK NO <br>GATEWAY_INTERFACE CGI/1.1 <br>HOMEDRIVE C: <br>HOMEPATH \Documents and Settings\X <br>HTTP_ACCEPT application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 <br>HTTP_ACCEPT_CHARSET windows-1251,utf-8;q=0.7,*;q=0.3 <br>HTTP_ACCEPT_ENCODING gzip,deflate,sdch <br>HTTP_ACCEPT_LANGUAGE ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 <br>HTTP_CACHE_CONTROL max-age=0 <br>HTTP_CONNECTION keep-alive <br>HTTP_COOKIE sessionid=22169919f0ebbbf6dd9ca023fbffdbab <br>HTTP_HOST 127.0.0.1:8000 <br>HTTP_USER_AGENT Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33 Safari/532.0 <br>LOGONSERVER \\X-DEA38E68887C4 <br>NUMBER_OF_PROCESSORS 2 <br>OS …………
……………
……………………

я жду того что делает первый вариант функции только с использованием возможностей шаблонной системы Django, а не использовать «сырой» HTML.



Отредактировано (Ноя. 24, 2009 00:39:16)

Офлайн

#6 Ноя. 24, 2009 08:42:23

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

Malinaizer
я жду того что делает первый вариант функции только с использованием возможностей шаблонной системы Django, а не использовать «сырой» HTML.
Теперь точно ничего не понял. Вам надо страница сформированная шаблонизатором или вручную через строку ?



Офлайн

#7 Ноя. 24, 2009 09:28:50

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

regall
Malinaizer
я жду того что делает первый вариант функции только с использованием возможностей шаблонной системы Django, а не использовать «сырой» HTML.
Теперь точно ничего не понял. Вам надо страница сформированная шаблонизатором или вручную через строку ?
Если знаете покажите и шаблонизатором и вручную через строку просто в книге задание сделат с использованием возможностей шаблонной системы Django, а не использовать «сырой» HTML.



Офлайн

#8 Ноя. 24, 2009 11:35:42

SvartalF
От:
Зарегистрирован: 2008-06-29
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

Хотите сырую строку, делайте “<br>”.join(…)
Хотите в шаблоне разбить? Чтение документации еще никого не убивало: http://docs.djangoproject.com/en/dev/ref/templates/builtins/#linebreaksbr



Офлайн

#9 Ноя. 24, 2009 12:58:11

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

SvartalF
Хотите сырую строку, делайте “<br>”.join(…)
Хотите в шаблоне разбить? Чтение документации еще никого не убивало: http://docs.djangoproject.com/en/dev/ref/templates/builtins/#linebreaksbr
будьте добры приведите пример с “<br>”.join(…)!



Офлайн

#10 Ноя. 24, 2009 16:15:26

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите пожалуйста

Мне кажется, вам стоит поменять подход в изучении.
Явно же не понимаете что такое этот join и для чего нужен шаблонизатор, как он работает.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version