我读过瓶子的文档,但找不到如何在多个文件中使用瓶子的示例。下面是我的工作方式,但我不确定这是否是正确的工作方式(我在API中看到了merge()
和mount()
,但不确定它们是否与此相关)。请给我评论。
all.py(这是运行的主文件)
#! /usr/bin/python
from bottle import route, run
import hello1
import hello2 # if I have 10 files, it will be 10 imports
run(host='localhost', port=8080, debug=True)
你好1.py
#! /usr/bin/python
from bottle import route, run
@route('/hello1')
def hello1():
return "Hello world no.1"
你好2.py
#! /usr/bin/python
from bottle import route, run
@route('/hello2')
def hello2():
return "Hello world no.2"
为什么要每个视图有一个模块?视图通常以某种逻辑方式分组,例如:
blog.py
中{/post/:id
,/tags
,/tag/:tag
admin.py
中{/admin/newpost
,/admin/editpost/:id
您还应该阅读烧瓶文档中的Becoming Big一章。对于中型应用程序,您可能需要创建一个布局类似于以下内容的包:
对于更大的应用程序,将视图拆分为一个子包。
如果您将代码分成10个Python模块,您将执行10个导入。您可以使用
__import__
进行迭代:但我觉得这不是个好主意。为什么您需要一个微型框架的10个模块?
我想使用一个单一的瓶子服务器来提供一套微型应用程序,并为一个体面的分离关注点,我想做你一直在寻找的事情。
以下是我如何解决我的任务:
rootApp.py(主文件)
clientApp.py(需要合并到套件中的新应用程序)
我不确定这是否是最好的方法,但它似乎可以毫无怨言地工作,省去了不得不share ports between applications的麻烦,否则就可能有共同的知识。这种方法确实源于设计偏好,但如果有人能演示如何/是否可以使用AppStack获得相同的结果,我将不胜感激。
相关问题 更多 >
编程相关推荐