Python烧瓶获得404未找到错误

时间:2012-11-24 03:33:21

标签: python http-status-code-404 flask

我正在使用Flask设计这个简单的网站。但我的hello方法遇到404错误。每当我点击“评价艺术家”按钮时,它都会给我错误,但home.html,hello.html和artist.html的模板都是正确的。我不知道我的代码的哪一部分是错的。有什么帮助吗?

@app.route("/",methods=['GET','POST'])
def login():
    if request.method=="GET":
        return render_template("home.html")
    if request.method=="POST":
        if (request.form["button"]=="login"):
            return render_template("hello.html",name=request.form["name"])

@app.route("/hello",methods=['GET','POST'])
def hello():
    if request.method=="GET":
        if(request.form["button"]=="rate artists"):
            return render_template("artist.html")

2 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。

我正在骨干和Flask之间进行一些实验性的CORS测试,作为不同网址的端点

您是在Config对象中使用SERVER_NAME还是在使用app.run?

我放了SERVER_NAME,但没有指定端口,

class Config(object):
    DEBUG = True
    TESTING = True
    STATIC_FOLDER = STATIC_FOLDER
    STATIC_URL = STATIC_URL
    NAVIGATION_JS = '/static/js/navigation.js'
    SESSION_COOKIE_SECURE = True
    REDIS_HOST_SESSION = 'localhost'
    REDIS_PORT_SESSION = 6379
    REDIS_DB_SESSION = 2
    REDIS_HOST = 'localhost'
    REDIS_PORT = 6379
    REDIS_DB = 3
    SERVER_NAME = 'api.jvazquez.com.ar'

服务器名称没有端口

我也为我定义的任何路线获得404(如果你有兴趣,我正在使用蓝图

当我使用curl向我的烧瓶应用程序发送请求时,我得到404,这是输出 对于我定义的所有蓝图,我得到了404

jvazquez@aldebaran:~$ curl -i http://api.jvazquez.com.ar:5000/alive/
HTTP/1.0 404 NOT FOUND
Content-Type: text/html
Content-Length: 233   
Set-Cookie: session=94c2c120-34c0-4a00-b094-7b5623d438ff; Domain=.api.jvazquez.com.ar; HttpOnly; Path=/
Server: Werkzeug/0.9.4 Python/2.7.3
Date: Wed, 25 Dec 2013 11:21:16 GMT

因此,检查您是否已定义配置变量SERVER_NAME并且它具有端口

答案 1 :(得分:2)

无论出于何种原因,当我将SERVER_NAME设置为127.0.0.1而不是localhost时,我遇到了这个问题。我不知道为什么这对我的设置很重要,但在将其更改为localhost后,一切都重新开始了。