2015-12-29 4 views
1

Предположим, что мы имеем следующую структуру каталогов ...Вставка папки, содержащей определенные маршруты для бутылочного применения в Python

+-- main.py 
| 
+--+ ./web 
| | 
| +--- ./web/bottleApp.py 

В настоящее время, я хочу, чтобы организовать файлы так, что я могу отделить разные функциональность в разных областях. Шаблон main.py и ./web/bottleApp.py выглядеть следующим образом ...

Это ./web/bottleApp.py файл:

import bottle 

app = bottle.Bottle() 

@app.route('/') 
def root():  
    return 'This is the root application' 
# some additional functions here ... 

И это main.py файл ...

from web import bottleApp as app 

with app.app as report: 
    # Some random routes here ... 
    report.run(host = 'localhost', port=8080) 

Теперь я хочу добавить еще папка, которая может обрабатывать некоторые функции, которые я могу использовать в качестве опций, - это куча моих проектов (например, обработка файлов конфигурации с помощью только что созданного веб-интерфейса)

Допустим, мы хотим, чтобы вставить следующую конфигурацию папок/файлов ...

+-- main.py 
| 
+--+ ./web 
| | 
| +--- ./web/bottleApp.py 
| 
+--+ ./configure 
    | 
    +--- ./configure/config.py 

Учитывая оригинального app = bottle.Bottle() я хочу создать следующий маршрут выборки в файле ./configure/config.py:

@app.route('/config/config1') 
def config1(): 
    return 'some config data' 

Как я могу это сделать? Как только я запустил файл main.py, как я могу убедиться, что доступны другие маршруты?

ответ

1

Бутылка может запускать несколько приложений для бутылок как один экземпляр. Вы можете использовать что-то вроде этого на main.py

import bottle 
from web.bottleApp import app 
from configure.config import configure_app 

main = bottle.Bottle() 
main.mount("/config/",configure) 
main.mount("/",app) 

main.run(host = 'localhost', port=8080) 

и Configure/config.py что-то вроде этого:

import bottle 

config_app = bottle.Bottle() 

@config_app.route('/config1') 
def config1():  
    return 'some config data' 
+0

Спасибо! Это гораздо лучшее решение, чем я надеялся! – ssm