use*_*873 12 python frameworks bottle
我已经阅读了瓶文档,但是我找不到如何使用Bottle和多个文件的示例.下面是我做的方式,它的工作,但我不知道这是否是去(我看到的正确方法merge(),并mount()在API,但不知道他们都与此有关).请给我评论.
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)
Run Code Online (Sandbox Code Playgroud)hello1.py
#! /usr/bin/python
from bottle import route, run
@route('/hello1')
def hello1():
return "Hello world no.1"
Run Code Online (Sandbox Code Playgroud)hello2.py
#! /usr/bin/python
from bottle import route, run
@route('/hello2')
def hello2():
return "Hello world no.2"
Run Code Online (Sandbox Code Playgroud)Spa*_*ade 12
我想使用一个单瓶服务器来提供一系列微应用程序,并且可以分散关注点,想要做你一直在寻找的东西.
以下是我解决任务的方法:
rootApp.py(您的主文件)
from bottle import Bottle
from clientApp import clientApp
rootApp = Bottle()
@rootApp.route('/')
def rootIndex():
return 'Application Suite Home Page'
if __name__ == '__main__':
rootApp.merge(clientApp)
rootApp.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
clientApp.py(需要合并到套件中的新应用程序)
from bottle import Bottle
clientApp = Bottle()
@clientApp.route('/clientApp')
def clientAppIndex():
return 'Client App HomePage'
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是最好的方法,但它似乎没有投诉工作,并省去了必须在应用程序之间共享端口的麻烦,否则可以相互了解.这种方法真的源于设计偏好,但如果有人能够证明AppStack如何用于获得相同的结果,我将不胜感激.
如果将代码拆分为 10 个 Python 模块,则\xe2\x80\x99 将执行 10 次导入。您可以使用以下方式进行迭代__import__:
for i in range(1, 11):\n __import__('hello%d' % i)\nRun Code Online (Sandbox Code Playgroud)\n\n但这对我来说并不是一个好主意。为什么需要10个具有微框架的模块?
\n