我希望使用单个域作为多个flask应用程序的登台环境,这些应用程序最终将在各自的域上运行。在
比如:
其中:
或者:
入门应用程序:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from Flask!'
WSGI Starter配置文件:
^{pr2}$指:
http://flask.pocoo.org/docs/0.10/patterns/appdispatch/
我不知道如何添加文档中给出的代码作为示例,以及create_app,default_app,get_user_for_prefix应该是什么样子。在
注意:使用pythonanwhere
解决方案
Glenns输入后的WSGI配置文件:
import sys
# add your project directory to the sys.path
project_home = u'/home/path/app1'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
from werkzeug.wsgi import DispatcherMiddleware
from app import app as app1
from app2.app import app as app2
from app3.app import app as app3
application = DispatcherMiddleware(app1, {
'/app2': app2,
'/app3': app3
})
文件夹结构:
app1 folder
app2 folder
app3 folder
关键是要有3个单独的应用程序。这忽略了staging/live的区别,因为staging和live只是不同目录中彼此的副本。在
创建每个单独的应用程序并让它们在各自的域上响应。然后创建一个新的应用程序,从各个应用程序导入
application
变量,并使用DispatcherMiddleware
组合它们,就像您链接到的doc页面上标题“组合应用程序”下的示例一样。在这对我很有效:
文件夹结构
调度程序.py
^{pr2}$app1到app3初始化py
工作
另一种配置
您可以导入另一个应用程序,如app0,并在应用程序中添加一个菜单,用
NotFound()
更改此菜单这有助于
Application Dispatching
相关问题 更多 >
编程相关推荐