Мне удалось успешно развернуть конфигурацию CherryPy с помощью метода Cherrypy.quickstart, и все отлично сработало.
Теперь у меня есть еще некоторые возможности, которые я пытаюсь добавить к существующему сценарию Python, поэтому мне нужны дополнительные приложения, поэтому я нашел это в документации CherryPy:
https://docs.cherrypy.dev/en/latest/bas ... plications
Не имея тонны доступной информации, я следил за этими шаги, и все объекты, на которые ссылается Cherrypy.tree.mount, существуют, но я получаю не найденный путь «404».
Код: Выделить всё
cherrypy.config.update(
{
"log.screen": True,
"server.socket_host": "scriptbox.its.utexas.edu",
"server.socket_port": 8888,
"server.ssl_module": "builtin",
"server.ssl_certificate": scriptPath()+"/ssl/scriptbox.pem",
"server.ssl_private_key": scriptPath()+"/ssl/scriptbox.key",
"server.ssl_certificate_chain": scriptPath()+"/ssl/server_chain.pem",
"/favicon.ico":
{
'tools.staticfile.on': True,
'tools.staticfile.filename': '/f5tools.ico'
}
})
cherrypy.tree.mount(ServeHelp(), '/')
cherrypy.tree.mount(AS3Tools(), '/as3tohtml')
cherrypy.tree.mount(ServeReport(), '/net_report')
cherrypy.engine.start()
cherrypy.engine.block()
Если я перейду в «/as3tohtml» или «/net_report», я получаю следующую ошибку:
Код: Выделить всё
404 Not Found
The path '/as3tohtml/' was not found.
Traceback (most recent call last):
File "/opt/miniconda3/envs/p3/lib/python3.8/site-packages/cherrypy/_cprequest.py", line 659, in respond
self._do_respond(path_info)
File "/opt/miniconda3/envs/p3/lib/python3.8/site-packages/cherrypy/_cprequest.py", line 718, in _do_respond
response.body = self.handler()
File "/opt/miniconda3/envs/p3/lib/python3.8/site-packages/cherrypy/lib/encoding.py", line 223, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/opt/miniconda3/envs/p3/lib/python3.8/site-packages/cherrypy/_cperror.py", line 415, in __call__
raise self
cherrypy._cperror.NotFound: (404, "The path '/as3tohtml/' was not found.")
Код: Выделить всё
class AS3Tools:
@cherrypy.expose
def as3tohtml(self, env, as3_file):
as3 = AS3Declaration(env+"/"+as3_file)
if as3.getStatus():
return parse_as3(as3)
Код: Выделить всё
class ServeReport:
@cherrypy.expose
def network_report(self):
net_report = NetworkReport()
if net_report.getStatus():
return generate_report(net_report)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ucing-404s