Отображение исходного кода HTML, а не рендеринг кода в GAE - PullRequest
0 голосов
/ 18 апреля 2011

Я пытаюсь отобразить исходный код сайта с помощью Google App Engine.Вот фрагменты кода, который я опробовал.

 def post(self):
    s = 'http://www.bing.com'
    fp = urllib.urlopen(s)
    src = fp.read()
    self.response.out.write(template.render('main.html',{'temp1':src}))

И шаблон, который я использовал, имеет нечто похожее на

<div style="width:100%;height:100%">{{temp1}}</div>

Проблема здесь в том, что он отображаетИсточник и дает мне HTML-страницу сайта, а не код, который я пытаюсь встроить.Дайте мне знать, как решить эту проблему?

Ответы [ 3 ]

5 голосов
/ 18 апреля 2011

Если вы хотите видеть html, а не страницу, которая вам понадобится для экранирования html-сущностей.
Попробуйте: src = cgi.escape(src)
И, возможно, поместите это в теги для отличительного отображения.

2 голосов
/ 19 апреля 2011

(при условии, что вы используете шаблоны Django, поставляемые с Appengine), вы можете использовать встроенный фильтр escape , например:

<div style="width:100%;height:100%">{{temp1|escape}}</div>
1 голос
/ 18 апреля 2011

Вы можете поместить HTML-код в div внутри тега <pre>. Это для предварительно отформатированного контента. То есть вы хотите, чтобы браузер отображал его точно так, как вы пишете, поэтому он игнорирует теги и не усекает несколько пробелов / табуляций.

<code><div style="width:100%;height:100%"><pre>{{temp1}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...