Среда:
Python 3.7.7
Windows 10 64 бит
Проблема:
Мой основной скрипт кое-что делает. Мне нужно отобразить отчет о его действиях.
Я создал мини-сайт, на котором отображаются данные.
Я поместил этот мини-сайт в подпапку '/report'.
Внутри этой подпапки '/ report' у меня есть скрипт Report.py, который запускает http.server
Мой главный скрипт выполняет этот Report.py, чтобы открыть мини-сайт в браузере. Я вот уже 3 дня работаю над ним и мне так и не удалось заставить его работать.
Вот так устроен мой код:
main.py
report/Report.py
report/index.py
вот main.py:
from report import Report
Report.StartReportTool()
и вот что я пробовал в файле Report.py и какую ошибку получаю. Эти коды ниже являются содержанием метода StartReportTool ():
№ 1:
port=8888
address=("",port)
server=http.server.HTTPServer
handler=http.server.CGIHTTPRequestHandler
handler.cgi_directories=["report"]
httpd=server(address,handler)
print(f"Report tool server started on port {port}")
webbrowser.open(f'http://localhost:{port}/report/index.py', new=2)
httpd.serve_forever()
Ошибка: Открытый URL-адрес браузера 'http://localhost: 8888 / report / index.py будет отображать исходный код index.py вместо выполнения скрипта index.py
=========== ===================== № 2 Я отредактировал URL-адрес, передаваемый в webbrowser.open
port=8888
address=("",port)
server=http.server.HTTPServer
handler=http.server.CGIHTTPRequestHandler
handler.cgi_directories=["report"]
httpd=server(address,handler)
print(f"Report tool server started on port {port}")
webbrowser.open(f'http://localhost:{port}/index.py', new=2) #<= I change this line
httpd.serve_forever()
Ошибка: Браузер открывает этот URL-адрес 'http://localhost: 8888 / index.py' и отображает следующее сообщение об ошибке:
Error response
Error code: 404
Message: File not found.
Error code explanation: HTTPStatus.NOT_FOUND - Nothing matches the given URI.
============= =================== N ° 3 Я отредактировал папку, переходящую в handler.cgi_directories
port=8888
address=("",port)
server=http.server.HTTPServer
handler=http.server.CGIHTTPRequestHandler
handler.cgi_directories=["/"] #<= I change this line
httpd=server(address,handler)
print(f"Report tool server started on port {port}")
webbrowser.open(f'http://localhost:{port}/index.py', new=2)
httpd.serve_forever()
Ошибка : Браузер открывает этот URL 'http://localhost: 8888 / index.py' и показывает в браузере следующее сообщение об ошибке:
Error response
Error code: 404
Message: No such CGI script ('//index.py').
Error code explanation: HTTPStatus.NOT_FOUND - Nothing matches the given URI.
Я не знаю, что еще попробовать. Кто-нибудь знает, что я делаю не так?