Jinja Flask JS和CSS无法加载。静态中的静态文件

时间:2017-10-13 01:23:27

标签: javascript html python-3.x flask jinja2

我已经阅读了多篇帖子,静态文件必须位于/ static /文件夹中,并在html模板中使用url_to路由到。但它不起作用。整个站点使用localhost呈现和加载,但从外部查看它只加载文本,没有css或js。

控制台说404: http://exmaple.com/static/scripts/my_app.js 同样适用于任何图像和CSS。

/home/me/my_app/web_dynamic/my_app.py

from flask import Flask, render_template, url_for
from models import storage
import uuid

app = Flask(__name__)
app.url_map.strict_slashes = False
port = 5000
host = '0.0.0.0'

@app.route('/', strict_slashes=False)
@app.route('/my_app/', strict_slashes=False)
def filters(the_id=None):
    state_objs = storage.all('State').values()
    states = dict([state.name, state] for state in state_objs)
    places = storage.all('Place').values()
    cache_id = uuid.uuid4()

    return render_template('my_app.html',
                           states=states,
                           places=places,
                           cache_id=cache_id)

if __name__ == "__main__":
    app.run(host=host, port=port)

/home/me/my_app/web_dynamic/temaplates/my_app.html

<html lang="en">
    <head>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
        <script type="text/javascript" src="{{ url_for('static', filename='scripts/myscript.js') }}"></script>
    </head>
    <body>
        <! --- HTML and JINJA HERE -->
    </body>
</html>

0 个答案:

没有答案