使用Python / GAE动态生成HTML div / JS脚本

时间:2013-05-08 22:58:24

标签: google-app-engine django-templates

我正在构建一个webapp,我希望能够在某些条件下动态渲染index.html中的div / script。我想做的事情的抽象如下:

class MainHandler(webapp2.RequestHandler):
    def get(self, q):
        script = "<script>function display_alert(){ {alert('Hello world!'}}</script> <div>hello world</div>"
        if q is None:
            q = 'index.html'
        path = os.path.join (os.path.dirname (__file__), q)
        self.response.headers ['Content-Type'] = 'text/html'
        self.response.write (template.render (path, {
        "script" : script
        }))

def main ():
  application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
  util.run_wsgi_app (application)

if __name__ == '__main__':
  main ()

HTML是一个包含{{script}}的简单index.html文件。当它呈现出来时,它看起来像这样:

enter image description here

为什么HTML呈现不是我正确给出的?我尝试通过simplejson.dumps运行“script”变量,它也没有用。

1 个答案:

答案 0 :(得分:4)

我相信django模板中默认会转义Html

在django中,这是通过safe模板过滤器

完成的

{{ script|safe }}

你正在使用django来渲染你的模板吗?还是一个不同的发动机?