Проблемы маршрутизации колб на CherryPy
Я попробовал метод на http://flask.pocoo.org/snippets/24/ чтобы заставить Flask работать на сервере CheryPy, и это сработало, пока проблем нет. Но я не могу ничего маршрутизировать, кроме "/". Например, если я хочу направить в localhost/xyz, он возвращает "Hello World".
Должен ли я создать одно приложение Flask для каждого пути?
server.py это:
from cherrypy import wsgiserver
from qwe import app
d=wsgiserver.WSGIPathInfoDispatcher({"/":app,"/xyz":app})
server=wsgiserver.CherryPyWSGIServer(('0.0.0.0',80),d)
if __name__ == '__main__':
try:
server.start()
except KeyboardInterrupt:
server.stop()
qwe.py это:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World"
@app.route("/xyz")
def ff():
return "Test1"
1 ответ
Решение
Это должно работать так:
app.py:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def root():
return "Hello World!"
@app.route("/xyz")
def xyz():
return "Hello XYZ!"
if __name__ == "__main__":
app.run()
server.py:
from cherrypy import wsgiserver
from app import app
d = wsgiserver.WSGIPathInfoDispatcher({'/': app})
server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 9999), d)
if __name__ == '__main__':
try:
server.start()
except KeyboardInterrupt:
server.stop()
идти к http://localhost:9999
и получить Hello World!
затем перейдите к http://localhost:9999/xyz
и получить Hello XYZ!