1

Tornadoを使用していて、テンプレートにいくつかの静的ファイルをロードしたいと思います。今、私はtornado.web.UIModuleそれらをロードするために使用します。static_url()しかし、定義されていないと言ったいくつかのエラーが発生しました。そこで、ドキュメントを調べたところ、この関数はのメソッドであることがわかりましたtornado.web.RequestHandler。しかし、この関数のような静的ファイルを以下のクラスにロードするにはどうすればよいですか?

# _ * _ coding:utf-8 _ * _

import tornado.web
from tornado import template

class Header(tornado.web.UIModule):
"""docstring for Header"""
def render(self, hightlight = "index"):
    return self.render_string("header.html", hightlight = hightlight)

def css_files(self):
    css = [
        static_url("css/smoothness/jquery-ui-1.8.20.custom.css"),
        static_url("css/common.css"),
        static_url("css/jquery.jqplot.min.css"),
        static_url("css/blue/style.css"),
        static_url("css/jquery.vector-map.css")
    ]
    return css;

def javascript_files(self):
    javascript = [
        static_url("js/convert.color.js"),
        static_url("js/jquery-1.7.2.min.js"),
        static_url("js/jquery-ui-1.8.20.custom.min.js"),
        static_url("js/common.js"),
        static_url("js/jquery.jqplot.min.js"),
        static_url("js/plugins/jqplot.highlighter.min.js"),
        static_url("js/plugins/jqplot.cursor.min.js"),
        static_url("js/plugins/jqplot.dateAxisRenderer.min.js"),
        static_url("js/plugins/jqplot.canvasTextRenderer.min.js"),
        static_url("js/plugins/jqplot.canvasAxisLabelRenderer.min.js"),
        static_url("js/jquery.vector-map.js"),
        static_url("js/china-cn.js"),
        static_url("js/jquery.tablesorter.min.js"),
        static_url("js/charts.js")
    ]
    return javascript

def html_body(self):
    return "<!--[if lt IE 9]><script src=\"{{ static_url(\"js/excanvas.js\") }}\"></script><![endif]-->"

def embedded_javascript(self):
    return "<script>var current = null;</script>"
4

2 に答える 2

1

すでに述べたように、static_urlは のメソッドtornado.web.RequestHandlerですが、グローバル関数として呼び出しています。

変化する

static_url(...)

self.handler.static_url(...)
于 2012-05-23T10:30:48.110 に答える
0

その必要はありません。相対パスを指定すると (javascript_filesと でcss_files、Tornado は自動的にstatic_url.

于 2012-05-23T08:07:15.103 に答える