Как создать свой сайт на python
Перейти к содержимому

Как создать свой сайт на python

  • автор:

CGI: пишем простой сайт на Python. Часть 1: Hello world

Python 3 логотип

Проще всего создать динамические страницы на Python при помощи CGI-скриптов. CGI-скрипты — это исполняемые файлы, которые выполняются веб-сервером, когда в URL запрашивается соответствующий скрипт.

Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Настройка локального сервера

В Python уже есть встроенный CGI сервер, поэтому его настройка элементарна.

Для запуска из консоли (для любителей linux-систем). Запускать нужно из той папки, где мы хотим работать:

python3 -m http.server --cgi

Для сидящих на Windows чуть проще будет запуск Python файла (заметьте, что он должен находиться в той же папке, в которой мы планируем работать!):

Теперь откройте браузер и в адресной строке наберите localhost:8000

Если у вас примерно такая же картина, значит, у вас все заработало!

Hello world

Теперь в той папке, где мы запустили сервер, создаём папку cgi-bin (у меня она уже создана).

В этой папке создаём скрипт hello.py со следующим содержимым:

"Первая строка говорит о том, что это Python скрипт (CGI-скрипты можно не только на Python писать).

Вторая строка печатает заголовок. Он обозначает, что это будет html файл (бывает ещё css, javascript, pdf и куча других, и браузер различает их по заголовкам).

Третья строка (просто символ новой строки) отделяет заголовки от тела ответа.

Четвёртая печатает Hello world.

Теперь переходим на localhost:8000/cgi-bin/hello.py

Если у вас не работает, проверьте, установлены ли права на выполнение.

Также в консоли запущенного сервера появляются сообщения об ошибках. Например, убрал скобочку и обновил страницу:

В следующей части мы рассмотрим обработку данных форм и cookies.

Для вставки кода на Python в комментарий заключайте его в теги

  • Модуль csv - чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ
  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов
  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Уроки Django

Уроки Django (Создание сайта) / Урок #1 - Введение в фреймворк Django

Python – мощный язык, функциональность которого увеличивается при использовании дополнительных библиотек. В видео курсе мы изучим популярный фреймворк Django и построим полноценный веб сайт на основе Джанго.

Видеоурок

Информация про Джанго

Язык Python универсальный и на его основе можно писать приложения для различных целей. Создать сайт на Python вполне возможно, но сайт на питоне гораздо проще создается при использовании Д жанго Питон. При помощи дополнительных библиотек можно создавать как приложения, так и веб сайты. К примеру, для создания игр на Python понадобиться библиотека Pygame , а для создания сайтов – Django .

Зачем нужен Джанго?

Писать сайты на Питон на самом деле можно и без использования сторонних библиотек или же фреймворков. В то же время, написание сайта на основе лишь Python – это долгий и сложный процесс. Чтобы облегчить дело были придуман отдельные фреймворки или, другими словами, готовые решения для ускорения процесса построения сайта.

Джанго создан на основе языка Питон. За счёт Django вы можете намного проще и быстрее создавать как легкие, так и сложные веб сайты.

На самом деле, Джанго не является монополистом и помимо него существуют другие Фреймворки, обеспечивающие схожую функциональность. Несмотря на остальных Джанго удобно себя чувствует на месте лидера в теме разработки сайтов на питон.

Преимущества Джанго

Преимущество Джанго перед другими фреймворками заключается в огромном наборе готового функционала, за счет которого можно быстро и просто создать систему регистрации на сайте, добавить форум на сайт, реализовать систему поиска по сайту или выполнить какое-то другое действие на сайте.

В Джанго используется схема MVC. Это схема позволяет удобно разбить файлы на одну из трех категорий: HTML шаблоны, файлы модели для работы с базой данных и файлы контроллеры для связи моделей и HTML шаблонов между собой.

Одна из ключевых особенностей Джанго в том, что вы можете скачать отдельную часть проекта и добавить её в свой проект, просто заменив ссылки на нужные для вас.

Сайты на Джанго можно создавать быстро, они обладают шустрой подгрузкой, а также могут выдерживать большие нагрузки. В каждом проекте по-умолчанию будет подключена панель администратора, через которую можно управлять сайтом и базой данных.

Сайты на Джанго

На сегодняшний день существует большое количество популярных сайтов, которые созданы именно при помощи этой технологии, среди них:

  1. Google - крупнейший сайт на Django. Является поисковой системой;
  2. YouTube - крупнейший видеохостинг;
  3. Instagram - популярное приложения для обмена фото и видео;
  4. Pinterest - крупнейший социальный интернет-сервис;
  5. The Washington Times - популярная всемирная газета.

Это только небольшой список тех компаний, которые используют эту технологию в своих продуктах.

Как видите, перспективы изучения Django очень большие, так как сейчас все больше и больше крупных компаний ищут специалистов со знаниями именно этой библиотеки.

Какие знания нужны?

Для разработки сайтов на Джанго вам потребуется изначально изучить язык Питон. Посколько весь синтаксис будет написан именно на языке Питон, то без его знания вам будет сложно понять данную тему и разобраться в ней. Курс по изучению языка Питон есть на нашем сайте. Вы можете его просмотреть по этой ссылке .

Помимо Питон вам также нужно уметь работать с языком разметки HTML и языком стилей CSS . Без этих языков вам не удастся написать разметку веб страницы, поэтому перед курсом также стоит изучить HTML и CSS.

Дополнительно обязательных знаний не требуется и вы можете приступать к изучению курса. Все D jango уроки представлены на нашем сайте в полной мере.

План курса

За D jango курс мы изучим все основные положения фреймворка Django, а также создадим P ython сайт . Для реализации стилей на сайте мы будем использовать библиотеку Bootstrap (уроки по ней можно посмотреть здесь ), а для связи с базой данных мы будем использовать встроенную ORM систему, которая позволяет создавать таблицы в базе данных на основе классов в Python.

Программа обучения

Также на нашем сайте есть более углубленные Python Django уроки в программе по изучению языка Питон и его библиотек. За программу вы узнаете создание сайта на Python, изучите все моменты как написать сайт на Питоне, разработать на его основе программы под мобильные приложения и многое другое. Ознакомится с программой обучения можно по этой ссылке .

Задание к уроку

Небольшая теория

Что такое Django и какая основная цель его использования?

Как создать сайт на python без использования фреймворков?

Как создать сайт на python без использования фреймворков? Просто в общем скажите, что нужно сделать. Детали я сам погуглю P.S. Я знаю, что это создание велосипедов, но это мне нужно для изучения работы веб приложений в частности и обучения программированию в общем

Отслеживать
задан 24 ноя 2020 в 16:09
383 2 2 серебряных знака 7 7 бронзовых знаков
python -m pureSite Только модуль нужно написать
24 ноя 2020 в 16:10
а чем не устраивает джанго ?
24 ноя 2020 в 16:11

Изучить спецификацию CGI/WSGI/ASGI (по вкусу), написать код по спецификации и запустить подходящим веб-сервером. Ну или набраться смелости, чтобы изучить спецификацию HTTP и написать свой собственный веб-сервер

24 ноя 2020 в 16:14
@andreymal HTTP проще чем все вышеперечисленное,)
24 ноя 2020 в 17:17
@eri триста страниц спецификации HTTP/1.1 это по-вашему проще?) И это я ещё про HTTP/2 не вспоминаю)
24 ноя 2020 в 17:54

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Отличный вопрос - зря минусим.

В каталоге проекта

создай папку ./cgi-bin напиши файлик ./cgi-bin/index.py с содержимым

#!/bin/python3 print("Content-Type: text/html") # Хидеры ответа print() # Пустая строка сразу после хидеров # А потом текст ответа print("CGI script output") print("

This is my first CGI script

") print("Hello, world!")

Сделай скрипт исполнимым

chmod +x ./cgi-bin/index.py 

И запукай http сервер (можно через apache или lighttpd)

python3 -m http.server --cgi 8000 

Переходи по ссылке http://localhost:8000/cgi-bin/index.py и вот Hello-Word на чистом питоне готов.

Вариант чуть посложнее с одним модулем

import http.server class Handler(http.server.BaseHTTPRequestHandler): def do_GET(self): self.send_response(200, 'OK') self.send_header('Content-Type', 'text/html') self.end_headers() self.wfile.write(''' Handler script output 

This is my first Handler script

Hello, world! '''.encode()) httpd = http.server.HTTPServer(('', 8000), Handler) httpd.serve_forever()

Тут нет обработчика URI и один ответ будет на всех страницах.

Отслеживать
ответ дан 24 ноя 2020 в 16:33
34.7k 3 3 золотых знака 28 28 серебряных знаков 61 61 бронзовый знак

В стандартной библиотеке Python есть модуль http.server. Это HTTP-сервер, на основе которого можно создавать сайты любой сложности. Конечно, чем больше сложность, тем больше вам придётся написать функциональности, которая уже есть во фреймворках. Но если вам нужен сервер для отладки или вы хотите понять как что устроено, то начните с него.

Отслеживать
3,593 3 3 золотых знака 17 17 серебряных знаков 23 23 бронзовых знака
ответ дан 24 ноя 2020 в 16:27
Stanislav Volodarskiy Stanislav Volodarskiy
32.1k 3 3 золотых знака 19 19 серебряных знаков 56 56 бронзовых знаков

Если прям без фреймворка, то cgi. Но. зачем? Есть же фреймворки.

Flask — фреймворк для создания веб-приложений на языке программирования Python, использующий набор инструментов Werkzeug, а также шаблонизатор Jinja2. Относится к категории так называемых микрофреймворков[en] — минималистичных каркасов веб-приложений, сознательно предоставляющих лишь самые базовые возможности.

Django (Джанго, ['dʒæŋɡoʊ][6]) — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC[7]. Проект поддерживается организацией Django Software Foundation.

Как создать сайт на Python?

#Реклама

Когда компании нужен сайт, который работает максимально эффективно и быстро, решить задачу с помощью одного из популярных конструкторов не получится: нужно писать код. Возникает вопрос: какой язык выбрать? И здесь можно заметить, что уже несколько лет в пятерку лидирующих в среде веб-программирования языков входит Python. Почему же разработка сайтов на Python пользуется такой популярностью?

Преимущества разработки на Python: выбор программистов

Созданный в конце второго тысячелетия, этот язык имеет следующие достоинства:

↗️ те, кто переходят на Python из других языков, отмечают высокую скорость освоения синтаксиса: язык выглядит довольно простым, а конструкции — хорошо читаемыми. Новички в программировании также быстро начинают писать простые программы;

↗️ работа с большими или комплексными числами, поддержка различных структур данных (списки, словари, очереди) не требует подключения библиотек, поскольку встроена в язык;

↗️ кроме этого, Python по умолчанию поддерживает все используемые кодировки;

↗️ также здесь реализован мощный механизм работы с базами данных;

↗️ программисту не нужно беспокоиться о «сборке мусора»: язык берет работу с памятью на себя;

↗️ о дна и та же программа будет одинаково выполняться на различных операционных системах.

Python — интерпретируемый язык, поэтому вносить правки в код можно «на лету». Это же обстоятельство делает его хорошим скриптовым инструментом.

Наконец, для Python написано огромное количество пользовательских библиотек, которые программист может использовать, не изобретая велосипед.

Как создать сайт на Python легко и быстро

Создание сайтов на Python увлекает, даже если собирать необходимые библиотеки самому. Однако скорость создания сайта тоже имеет значение. Для ускорения и упрощения работы программиста почти во всех языках создаются фреймворки, и Python — не исключение.

Один из популярных фреймворков, позволяющий создать веб сайт на Python, носит название Django. Он освобождает программиста от утомительной работы, предоставляя сборочный каркас, на который можно «повесить» различные элементы:

  • фронтенд;
  • скрипты;
  • библиотеки;
  • базы данных;
  • контент и средства работы с ним.

К достоинствам фреймворка, помимо облегчения процесса разработки, также можно отнести возможность более эффективной дальнейшей поддержки готового продукта, а также более низкую вероятность ошибки по сравнению с кодом, написанным «с нуля».

Реализовать всё это помогают несколько концепций, реализованных в Django:

↗️ использование отдельного элемента кода для решения нескольких схожих задач. Концепция носит название «Do not Repeat Yourself» («Не повторяйся», сокращённо DRY). Код не дублируется в разных участках текста, что помогает в разработке, отладке и поддержке;

↗️ и зменения, которые вносятся в отдельный модуль, влияют только на работу этого модуля, но не на код в целом. Это позволяет улучшать текст более точечно, не боясь нарушить функциональность кода.

Преимущества Django

Фреймворк включает в себя все необходимые программисту инструменты, поэтому программист не отвлекается на поиск библиотек.

С помощью Django сайт на Python может быть любого типа, от новостного агрегатора до видеохостинга. Если даже какой-то необходимый компонент не включен в Django, фреймворк может получить его из сторонних источников.

Сам фреймворк регулярно обновляется сообществом разработчиков, поэтому работает стабильно, а приложения, написанные с его помощью, содержат меньше ошибок.

При необходимости увеличить функционал приложения не нужно переписывать весь код, достаточно внести изменения в конкретный модуль.

Иллюстрация предоставлена рекламодателем

Актуальные новости города и области смотрите в нашем ТГ-канале и в соцсетях «Вконтакте» и «Одноклассники».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *