Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Python: Веб-разработка и фреймворки > Запуск скрипта .py на локальном web-сервере |
Автор: Mastodont 3.8.2017, 16:52 | ||||
Как открыть в браузере скрипт page.py, формирующий код страницы? Помещаю его в cgi-bin, и сначала просто отображается его содержимое без обработки. Если я в httpd.conf укажу
то при обращении в браузере по http://localhost/blog.local/cgi-bin/test.py получаю
Почему так происходит? |
Автор: Mastodont 18.8.2017, 12:48 | ||||||||||||||||||
Оказывается в Python есть встроенный CGI-сервер. Расскажу, как он работает. Создаем где нибудь, например на диске С, папку python_cgi_server. Теперь по пути C:\python_cgi_server размещаем файл server.py с таким содержанием
Открываем командную строку Windows и пишем в ней
В результате попадаем в корень диска C. Затем вводим команду
После этого в командной строке отображаются все файлы и папки, расположенные в текущей директории (т.е. на диске С, в корень которого мы только что перешли). Среди них видим папку python_cgi_server, которую создали до этого. Теперь вводим в командной строке
И тем самым переходим в эту папку. Хитрость: можно ввести начало названия (например, pyt) и затем нажать Tab. В результате командная строка сама дополнит название из тех файлов и папок, какие имеются в выбранной папке. Теперь снова выполняем команду
И видим в текущей папке файл server.py. Выполним его командой
Результатом будет пустая строчка в командной строке. Это означает, что встроенный в Python CGI-сервер запущен. Открываем браузер и вводим в нем адрес http://localhost:8000 Отобразится корень запущенного сервера, в котором пока лежит только server.py. Если после этого посмотрим в командную строку, то увидим, что теперь там побежали логи действий на сервере. Так как мы хотим запускать именно cgi-скрипты, создадим один такой скрипт. Для этого разместим в папке с файлом server.py папку cgi-bin и положим в нее cgi-скрипт. Назовем его script.py (так как писать собираемся именно на Python). То есть в итоге у нас получится такая структура файлов и папок:
В script.py поместим такой код
Теперь в браузере перейдем по адресу http://localhost:8000/cgi-bin/script.py . Отобразится надпись "Hello world". Заметим параметр
Иногда и без него все в порядке, но при наличии на странице русских символов иногда браузер не может их правильно отобразить без явного указания кодировки. |