显示HTML源而不是在GAE中呈现代码

时间:2011-04-18 16:37:22

标签: python google-app-engine django-templates

我正在尝试使用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 个答案:

答案 0 :(得分:5)

如果你想查看html而不是页面,你需要逃避html实体。
尝试:src = cgi.escape(src)
也许可以将它放在<pre></pre>标签内以进行独特的显示。

答案 1 :(得分:2)

(假设您正在使用Appengine附带的Django模板),您可以使用built-in escape filter,例如:

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

答案 2 :(得分:1)

您可以将HTML代码放在<pre>标记内的div中。它适用于预先格式化的内容。也就是说,您希望浏览器完全按照您编写的方式显示它,因此它会忽略标记并且不会截断多个空格/制表符。

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