CGI: пишем простой сайт на Python. Часть 1: Hello world
Проще всего создать динамические страницы на Python при помощи CGI-скриптов. CGI-скрипты — это исполняемые файлы, которые выполняются веб-сервером, когда в URL запрашивается соответствующий скрипт.
Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.
Настройка локального сервера
В Python уже есть встроенный CGI сервер, поэтому его настройка элементарна.
Для запуска из консоли (для любителей linux-систем). Запускать нужно из той папки, где мы хотим работать:
python3 -m http.server --cgi
Для сидящих на Windows чуть проще будет запуск Python файла (заметьте, что он должен находиться в той же папке, в которой мы планируем работать!):
from http.server import HTTPServer, CGIHTTPRequestHandler server_address = ("", 8000) httpd = HTTPServer(server_address, CGIHTTPRequestHandler) httpd.serve_forever()
Теперь откройте браузер и в адресной строке наберите localhost:8000
Если у вас примерно такая же картина, значит, у вас все заработало!
Hello world
Теперь в той папке, где мы запустили сервер, создаём папку cgi-bin (у меня она уже создана).
В этой папке создаём скрипт hello.py со следующим содержимым:
#!/usr/bin/env python3 print("Content-type: text/html") print() print("<h2>Hello world!</h2>")
Первая строка говорит о том, что это Python скрипт (CGI-скрипты можно не только на Python писать).
Вторая строка печатает заголовок. Он обозначает, что это будет html файл (бывает ещё css, javascript, pdf и куча других, и браузер различает их по заголовкам).
Третья строка (просто символ новой строки) отделяет заголовки от тела ответа.
Четвёртая печатает Hello world.
Теперь переходим на localhost:8000/cgi-bin/hello.py
И радуемся!
Если у вас не работает, проверьте, установлены ли права на выполнение.
Также в консоли запущенного сервера появляются сообщения об ошибках. Например, убрал скобочку и обновил страницу:
В следующей части мы рассмотрим обработку данных форм и cookies.
Для вставки кода на Python в комментарий заключайте его в теги <pre><code>Ваш код</code></pre>
Свежее
- Модуль csv — чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики.
Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
Категории
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
Полезные материалы
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Мы в соцсетях
CSS, HTML, или конструкторы?» — Яндекс Кью
ПопулярноеСообщества
Создание сайтов
Радик Х.
11,8 K
ОтветитьУточнитьPostium
1,0 K
Postium: бизнес, реклама и digital-маркетинг. · 4 янв 2020 · postium.ru
Отвечает
Анатолий Чупин
Зависит от цели создания сайта.
HTML — это базовый уровень создания сайтов, ничего дельного и масштабируемого с использованием HTML вы не сделаете, а если и сделаете, то потратите на эту кучу времени.
Конструкторы подойдут, если вы хотите очень быстро собрать лендинг или сайт из нескольких страниц. При этом, создание сайта на конструторе предолагает очень много минусов. Например:
- платная подписка — ежемесячно нужно платить за то, что сайт отображается и на него могут заходить пользователи;
- неоптимизированный код — чаще всего сайты на конструкторах тяжёлые и долго грузятся;
- не подходят для SEO продвижения — на конструкторе очень сложно развивать структуру сайта, плюс само исполнение сайта на конструкторе будет проигрывать сайтам на CMS в плане поискового продвижения.
Из плюсов:
- готовые решения для бизнеса — можно за пару часов сделать инструмент для привлечения клиентов;
- быстрое изменение — можно быстро поменять то, что нужно: цвет, кнопки, меню и прочее.
CMS (или движок). Если же создание сайтов для вас не разовое мероприятие, я бы порекомендовал начать работать с CMS. Выберите одну или две CMS с которыми вы будете работать, начинайте создавать на ней сайты и изучать.
Для создания небольших коммерческих сайтов идеальная CMS — WordPress. О ней много бесплатной информации в интернете, как в текстовом, так и в видео формате.
Для запуска интернет-магазинов можно остановиться на битриксе — если позволяет бюджет, или использовать бесплатный OpenCart.
Больше полезных материалов и гайдов в нашем Телеграм >>
Перейти на t.me/postiumruКомментировать ответ…Комментировать…
Алексей Махметхажиев
7
4 янв 2020
Конструкторы конечно. Есть Тильда, есть Флексби из хороших.
Много есть остальных, но следите за скоростью загрузки готового сайта.
Это самое важное будет в 2020 году. Скорость загрузки влияет на конверсии.
Радик Х.
4 января 2020
Спасибо большое
Комментировать ответ…Комментировать…
Фрутини
-1
SEO продвижение сайта в ТОП выдачи Google и Яндекс · 4 янв 2020
Отвечает
Александр Л.
Зависит от самих сайтов. Делать сайто только на html/css без CMS — это не так удобно как конструкторы — любое изменение цены или текста на сайте придется делать в коде. А вот конструкторы — очень удобные для создания простых сайтов, быстрого теста гипотезы, создания лендингов и других простых сайтов. На конструкорах даже можно собрать простенький интернет магазин и… Читать далее
Радик Х.
4 января 2020
Спасибо большое
Комментировать ответ…Комментировать…
Max Linnae
17
Ботаник · 26 дек 2020
Лучше всего подучить PHP и освоить какой-либо простой фреймворк, я бы рекомендавал Yii или Laravel, и уже на базе этих инструментов, своеобразных каркасах MVC, написать бекэнд, а потом уже мудрить над фронтэндом, это (при условии знания (X)HTML/CSS, что при знании PHP — естественно) — дело техники и художественного вкуса.
Комментировать ответ…Комментировать…
Виктор Знание
17 июн 2020
если вы знаете html и есть время, то несомненно через html, css и CMS
попробуйте usercms.ru
если нет времени и нужно протестировать нишу или сделать временный сайт, то конструкторы — лучший выбор
Комментировать ответ…Комментировать…
Вы знаете ответ на этот вопрос?
Поделитесь своим опытом и знаниями
Войти и ответить на вопрос1 ответ скрыто(Почему?)
Неделя 1: Создание прочного фундамента с помощью HTML | Зак Хейси
Почти каждый проект, созданный для Интернета, основан на языке гипертекстовой разметки, или HTML, в качестве основы. HTML — это стандартный язык разметки для всех веб-сайтов и веб-приложений, и в сочетании с CSS и JavaScript они составляют фундаментальные технологии Интернета, какими мы их знаем.
Если представить веб-сайт или веб-приложение как физическое здание, HTML будет представлять собой каркас и другие структурные компоненты, которые придают этому зданию форму и поддержку.
Когда HTML сочетается с содержимым — текстом, изображениями, видео и т. д. — браузеры могут интерпретировать и отображать наши веб-страницы для пользователей.
Воспринимайте HTML как структурную основу Интернета | Фото Dakota Roos на Unsplash Ниже мы рассмотрим строительные блоки HTML (теги, элементы, атрибуты и т. д.), а также рассмотрим некоторые более сложные элементы, такие как