Flask-Restful启动时在__init__.py中出现404问题

0 投票
2 回答
760 浏览
提问于 2025-04-19 22:59

我正在使用Twilio的 flask.ext.restful 扩展,设置如下:

最上层的文件夹是 app

里面有一个文件叫 ___init___.py

from flask import Flask
from flask.ext import restful

# Basic app configuration
app = Flask(__name__)
api = restful.Api(app)

在这个 app模块 里,还有一个文件叫 api.py

from flask.ext.restful import Resource
from app import api

class HelloWorld(restful.Resource):
    def get(self):
         return {'hello': 'world'}

api.add_resource(HelloWorld, '/hello')

这个设置让我在访问 /hello 时总是得到404错误。

但是,如果我把 api.py 移到 __init__.py 模块里,一切就正常了。

这是为什么呢?

2 个回答

0

试着把 from app import api 这行代码放到你的 __init__.py 文件里。

from flask import Flask
from flask.ext import restful

# Basic app configuration
app = Flask(__name__)
api = restful.Api(app)

from app import api

另外,你应该把其中一个 app 改个名字,这样可以避免混淆。

0

我觉得这个应用在执行api.py之前就已经运行了,所以在Flask上卡住了。你是怎么执行这个的呢?

class HelloWorld(restful.Resource)

应该是

class HelloWorld(Resource)

但是

撰写回答