2

我正在使用 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")
4

2 回答 2

5

我有同样的问题。

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

您是在 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 并且它有端口

于 2013-12-25T11:26:55.547 回答
3

For whatever reason I encountered this when I set the SERVER_NAME to 127.0.0.1 instead of localhost. I don't know why that was important with my setup, but after changing it to localhost everything started working again.

于 2016-05-07T17:58:59.990 回答