无法解释的Flask 404错误

Jas*_*ijn 29 python flask

我有一个使用Flask的网站.它曾经运作良好,但从最近,每个请求返回404,似乎它找不到正确的端点.然而:

  • 在本地,该网站仍然有效,只有在我的VPS上它显示这种奇怪的行为.
  • url_for工作并app.view_functions包含所有路线.
  • 然而,我继续在VPS上获得404s,即使是/以及任何东西/static/.

这是代码的一部分,显示所有内容有点多,而且并非全部相关:

#snip

from flask import Flask, render_template, abort, request, redirect, url_for, session
from flask.ext.babelex import Babel
from flask.ext import babelex

#snip

app = Flask(__name__)
app.secret_key = #snip

#snip

#just one of the routes
@app.route('/')
def about():
    return render_template('about.html')

#snip

@app.errorhandler(404)
def page_not_found(e):
    #snip
    return render_template('404.html'), 404

#snip

if __name__ == '__main__':
    app.run(debug=True)
else:
    app.config.update(
        SERVER_NAME='snip.snip.com:80',
        APPLICATION_ROOT='/',
    )
Run Code Online (Sandbox Code Playgroud)

Ale*_*ist 46

我遇到过同样的问题.我有它,因为我SERVER_NAME将配置的参数更改为不是服务器名称的名称.

SERVER_NAME如果你有配置,你可以通过删除配置来解决这个问题.

  • 救了我!我有一个真正的URL之后添加了它,它没有用,即使它确实匹配了URL.删除它,它开始工作.谢谢. (6认同)

Alv*_*ona 13

有同样的问题,因为以下几行

if __name__ == '__main__':
    app.run(host='127.0.0.1', threaded=True)
Run Code Online (Sandbox Code Playgroud)

在函数和装饰器之前声明。

在文件的最底部移动这些行对我有帮助。


Sco*_*ott 10

我知道这是旧的,但我遇到了同样的问题.你的问题可能是任何问题,但我的是我from app import views__init__.py文件中注释掉了这一行.它给了我相同的症状:每个需要的端点@app.route和一个视图用404响应.静态路由(.js和.css)很好(这是我的线索).

  • 注意:我必须将“从应用程序导入视图”添加到我的“ app / __ init__.py”的“最后一行”中 (2认同)