Bottle app不会处理放入包中单独模块的路径

时间:2012-05-26 20:26:45

标签: python bottle

我有这个目录结构:

.
├── controller
│   ├── FooController.py
│   ├── __init__.py
│
├── main.py

FooController

from bottle import get, post, request, response, run, abort, \
                   redirect, LocalResponse
import json

@get('/')
def create():
    response.content_type = 'application/json'
    return json.dumps({'hello2' : 'world'})

我执行python main.py,其中包含:

from controller import *
from bottle import get, post, request, response, run, abort, \
                   redirect, LocalResponse

if __name__ == '__main__':
    run(host = 'localhost', port = 8080)

我希望通过导入所有控制器(在本例中为FooController),它会挂钩到框架中。但是当我去localhost时它不会:8080 /我收到404错误。如果我将所有路线都放入main.py,那就可以了。

有谁知道我怎么能完成我正在寻找的东西?

1 个答案:

答案 0 :(得分:7)

不确定这是模块化应用的最佳方式,但

from controller.FooController import *

是进行导入的正确方法,它将修复您的404错误。