Проблемы маршрутизации колб на 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!

Другие вопросы по тегам