烧瓶没有注册路线

时间:2016-02-07 21:26:13

标签: python flask

我有以下代码似乎没有注册路线。

#!/usr/bin/python

import os,sys,json
from flask import Flask, url_for

class Foo:

    server = Flask(__name__)
    mountpoint = "/api"

    def __init__(self,startup="run",config="",mountpoint="/api"):
        self.mountpoint = mountpoint
        self.startup = startup
        self.server = server

    @server.route("/test")
    def test(self):
        return "Hello world!"

    def getEndpoints(self):
        server = self.server
        with server.test_request_context():
            print url_for('test')

    def start(self,**kwargs):
        getattr(self.server,self.startup)(**kwargs)


if __name__ == "__main__":
    mon = Foo()
    mon.getEndpoints()
    mon.start(host='0.0.0.0',debug=True)

如果我不打电话" getEndpoints"事情似乎运行得很好,但/ test返回404.当调用" getEndpoints"它返回一个构建错误。我猜它是像Why am I getting 404 error in Flask?那样简单的东西或者与范围有关的东西,但我对python仍然相对较新,所以我很少丢失问题可能是什么

1 个答案:

答案 0 :(得分:0)

我在我的机器上运行了代码,发现从测试函数中删除self参数导致/ test工作正常。根据我的经验,视图函数的参数是@route装饰器传入的值。

请参阅Flask docs on routing