不能通过静态URL包含外部javascript文件

Can't include external javascript file by static URL

本文关键字:javascript 文件 包含外 URL 静态 不能      更新时间:2023-09-26

我试图通过静态URL包括外部javascript文件,如:

<script type="text/javascript" src="{{ url_for('static/js', filename='test.js') }}"></script>

但得到以下错误:

werkzeug.routing.BuildError: ('static/js', {'filename': 'test.js', 'lang': 'en'}, None)

我使用python flask框架进行后端编程。如果我在html文件中展开javascript,它会很好地工作。

根据这个答案https://stackoverflow.com/a/20647713/541038

你应该这样做

<script type="text/javascript" src="{{ url_for('static", filename='/js/test.js') }}"></script>

[edit]作为题外话,你可以直接写

<script type="text/javascript" src="/static/js/test.js"></script>

(这是我如何引用我的静态文件…除非我确定我要把它们移到云上(如果我把整个应用程序移到云上)。只有当我计划从不同的服务器提供静态资源时才会这样