我正在试图弄清楚如何指定html模板和静态文件的位置,例如Flask的javascript文件。
我目前有一个结构允许像这样加载模块
/wsgi
/templates
/login.html
/logout.html
/menu.html
/static
/modules
/helloworld
/module.html
/module.json
/module.js
我希望能够直接使用模板加载例如Javascript文件,而无需将其移动到静态文件夹。
理想情况下,我想做这样的事情
moduleHtml = render_template(moduleHtmlPath)
并在模板内
<script type=text/javascript src="{{ url_for('myModule', filename='module.js') }}"></script>
答案 0 :(得分:5)
如果您正在使用Flask的蓝图功能,则可以在蓝图中包含静态文件。有点像你所拥有的,只需要将它们放在“静态”文件夹中。该文档有一个很好的例子:
http://flask.pocoo.org/docs/blueprints/#static-files
helloworld = Blueprint('helloworld', __name__, static_folder='static')
然后引用模板中的静态文件,如下所示:
url_for('helloworld.static', filename='module.js')
如果你不熟悉蓝图,那就值得一读。他们很漂亮。
否则,Flask有一种引用全局静态文件的内置方法,但它们需要位于根“静态”目录中:
http://flask.pocoo.org/docs/quickstart/#static-files
url_for('static', filename='module.js')