我有以下代码似乎没有注册路线。
#!/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仍然相对较新,所以我很少丢失问题可能是什么
答案 0 :(得分:0)
我在我的机器上运行了代码,发现从测试函数中删除self
参数导致/ test工作正常。根据我的经验,视图函数的参数是@route
装饰器传入的值。