Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶-API积垢服务的单一入口点_Python_Python 2.7_Python 3.x_Flask_Crud - Fatal编程技术网

Python 烧瓶-API积垢服务的单一入口点

Python 烧瓶-API积垢服务的单一入口点,python,python-2.7,python-3.x,flask,crud,Python,Python 2.7,Python 3.x,Flask,Crud,我正在尝试使用Flask和通用URL路由为RESTFull CRUD服务实现一个入口点。 拥有像“/api/book/1”这样的URL应该加载我的BookController(app/controllers/book.py)并调用read()方法。 我希望实现的示例代码,但实际上无法加载我的模块: book.py from app.models import Book import json class BookController(): data = [Book('Awesome

我正在尝试使用Flask和通用URL路由为RESTFull CRUD服务实现一个入口点。 拥有像“/api/book/1”这样的URL应该加载我的BookController(app/controllers/book.py)并调用read()方法。 我希望实现的示例代码,但实际上无法加载我的模块:

book.py

from app.models import Book
import json
class BookController():

    data = [Book('Awesome Title', '', 'fa-bar').toJson(), Book('Once upon a time', 'foo', 'fa-paper').toJson()]

    def list(self):
        return json.dumps(self.data)
编辑3:

这可能是路由API请求的一种好方法吗?

您得到的错误是什么?请包括您得到的错误或描述与当前发生的情况相比的预期行为。首先,您没有在路由装饰器中包含
方法
参数。IE
@app.route(“/endpoint”,methods=[“GET”,“POST”,“PUT”,“DELETE”])
--默认情况下,只有在不提供此参数的情况下才允许使用GET。@sytech感谢您的建议,不管怎样,实际上我只是想列出我的书籍,所以我在方法方面仍然没有问题。您的
ImportError
说明了它的含义。。表明
应用程序控制器中不存在
书籍
——可能需要再次检查吗?(区分大小写很重要)也就是说,假设错误来自行
module=importlib.import\u module('app.controllers.'+controller)
,而不是其他地方。我明白了。您的导入错误实际上可能源于
book.py
文件。IE
来自app.models导入手册
请用完整的回溯更新您的问题。(参见我之前提到的“假设错误来自于行…”)——是否在
app.models
中定义了
Book
?如果已定义,这可能表示存在冲突的导入问题。您的
模型
模块是否偶然导入
应用程序
?您的
应用程序
导入
模型
?或者类似的事情?你得到的错误是什么?请包括你得到的错误或描述预期的行为,与当前发生的情况进行比较。首先,您没有在路由装饰器中包含
方法
参数。IE
@app.route(“/endpoint”,methods=[“GET”,“POST”,“PUT”,“DELETE”])
--默认情况下,只有在不提供此参数的情况下才允许使用GET。@sytech感谢您的建议,不管怎样,实际上我只是想列出我的书籍,所以我在方法方面仍然没有问题。您的
ImportError
说明了它的含义。。表明
应用程序控制器中不存在
书籍
——可能需要再次检查吗?(区分大小写很重要)也就是说,假设错误来自行
module=importlib.import\u module('app.controllers.'+controller)
,而不是其他地方。我明白了。您的导入错误实际上可能源于
book.py
文件。IE
来自app.models导入手册
请用完整的回溯更新您的问题。(参见我之前提到的“假设错误来自于行…”)——是否在
app.models
中定义了
Book
?如果已定义,这可能表示存在冲突的导入问题。您的
模型
模块是否偶然导入
应用程序
?您的
应用程序
导入
模型
?或者类似的?
# __init__.py
__all__ = ["book"]
from app.models import Book
import json
class BookController():

    data = [Book('Awesome Title', '', 'fa-bar').toJson(), Book('Once upon a time', 'foo', 'fa-paper').toJson()]

    def list(self):
        return json.dumps(self.data)