尝试使用Flask和Polymer。我收到错误“GET /bower_components/google-map/google-map.html HTTP / 1.1 404 - ”

时间:2015-12-27 10:28:35

标签: python polymer polymer-1.0

我正在尝试将Polymer与Flask一起使用。

这是hello.py:

from flask import Flask
from flask import render_template
app = Flask(__name__)

@app.route("/")
def hello():
    return render_template('main.html')

if __name__ == "__main__":
    app.run()

这里是main.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="/bower_components/webcomponentsjs/webcomponents.js"></script>
    <meta charset="utf-8">
    <title>title</title>
    <link rel="import" href="/bower_components/google-map/google-map.html">
</html>

我收到以下错误:“GET /bower_components/google-map/google-map.html HTTP / 1.1”404 -

2 个答案:

答案 0 :(得分:1)

尝试将聚合物文件添加为lookaheads,如此

<script type="text/javascript" src="{{ url_for('static', filename='yourfile.js') }}"></script>
 <!-- similarly for link-tag too -->

答案 1 :(得分:0)

问题是该烧瓶正在尝试加载一些静态内容,默认情况下它会在名为static的文件夹中查找。如果要从模板目录提供html文件,则仍需要确保在index.html文件的所有href中指定/ static / path / to / static / file。这是我为我制作的应用程序提供的示例目录结构

MyApp/
-- app.py
-- static/
---- index.html
---- bower_components/
------ ...

app.py看起来大概是这样的

from flask import Flask
app = Flask(__name__)

@app.route('/')
def get_index():
    return app.send_static_file('index.html')

和index.html

... 
<link rel="import" href="/static/src/my-app.html">
<my-app></my-app>
...

因为当Flask收到Polymer希望加载的所有静态文件的请求时,Flask将默认在app目录中查找名为static的文件夹。

Flask允许您通过将静态文件目录的名称传递给Flask构造函数来更改它。详情请见here

如果你想查看一些例子code,我在github上发布了一个这样的例子。它使用烧瓶和一种起始聚合物试剂盒。