0

我用 python-flask 建立了一个网站。在一个页面中我加载了一个 javascript 文件。这是我的文件结构:

/python
   /static
     /plugins
     /themes
       /default
          /js
            /my-js.js
   /templates
     /my-file.html
   /venv
   app.py

我已将 my-js.js 包含在 my-file.html 中。

在此 js 之前,还有其他脚本成功加载了页面(与 my-js.js 位于同一目录中)。

当我用 url 调用我的文件时,/static/themes/default/js/my-js.js 它会ValueError: View function did not return a response显示回溯:

Traceback (most recent call last):
  File "/Users/ozcan/Library/Python/2.7/lib/python/site-packages/flask/app.py", line 1701, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/ozcan/Library/Python/2.7/lib/python/site-packages/flask/app.py", line 1689, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/Users/ozcan/Library/Python/2.7/lib/python/site-packages/flask/app.py", line 1687, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/ozcan/Library/Python/2.7/lib/python/site-packages/flask/app.py", line 1361, in full_dispatch_request
    response = self.make_response(rv)
  File "/Users/ozcan/Library/Python/2.7/lib/python/site-packages/flask/app.py", line 1439, in make_response
    raise ValueError('View function did not return a response')
ValueError: View function did not return a response

为什么会发生?我没有为这些js之类的静态文件编写路由。为什么正在加载其他js文件而这个不是?

4

1 回答 1

1

我能想到的几件事。首先,看起来您正在尝试将绝对路径传递给 my-js.js,当您确实需要相对路径时,请尝试 URL “static/themes/default/js/my-js.js”(没有前导斜线),看看是否有帮助。

此外,如果没有看到您的 python 或 Javascript,很难确认这一点,但是您是否在响应对象中设置了适当的 mimetype(它应该是 application/javascript)?

于 2013-02-25T14:27:47.323 回答