2
我一直在挖掘金字塔,並且我正在尋找安裝中間件來服務我的api。 我已經用werkzeug使用DispatchMiddleware完成了這個任務。金字塔如何設置api中間件?
我怎樣才能金字塔內實現這一
project
| __init__.py
| api
| | __init__.py
| web
| | __init__.py
項目/ API/初始化的.py
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings)
config.include('cornice')
api_includes(config)
config.scan() // scan only api_includes/routes
app = config.make_wsgi_app()
return app
項目/網絡/ 初始化的.py
def web_includes(config):
config.include('project.posts', route_prefix='/post')
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings)
config.include('pyramid_chameleon')
config.add_static_view('static', 'static', cache_max_age=3600)
web_includes(config)
config.add_route('home', '/')
config.scan() // only web_includes/routes
app = config.make_wsgi_app()
return app
項目/ 初始化的.py
from pyramid.config import Configurator
from api import main as api_main
from web import main as web_main
from pyramid.wsgi import wsgiapp, wsgiapp2
def main(global_configs, **settings):
web = wsgiapp2(web_main(global_configs, **settings))
api = wsgiapp2(api_main(global_configs, **settings))
config = Configurator()
config.add_view(web, name='/')
config.add_view(api, name='api')
return config.make_wsgi_app()
accssing我的API時,它的工作原理,但要網絡路由,除非我指定一個名稱,是不是「/」或「」,例如他們不工作:
config.add_view(web, name='foo')
去/富或/富/後的工作