Python, Django / Технические вопросы

Хочу разместить на хостинге сайт, сделанный на Python.

Данный ответ предназначен, скорее, для программиста, желающего разобраться в деталях. Если вы просто хотите разместить сайт на Django (или Flask), рекомендуем перейти к ответу установка Django.

  1. В первую очередь, необходимо добавить на аккаунт хотя бы один сайт с типом Python. Или изменить тип для какого-либо сайта, который уже есть на вашем аккаунте. Это можно сделать в разделе «Сайты» Личного Кабинета.

  2. Работа сайтов на Python, на нашем хостинге, реализуется с помощью mod_wsgi (модуля Apache). В качестве точки входа (WSGIScriptAlias) используется файл с именем index.wsgi, который должен располагаться в корневой директории вашего сайта (docroot). Запросы, приходящие на ваш сайт, попадают в скрипт index.wsgi.

  3. В самом файле index.wsgi точкой входа в ваше wsgi-приложение (WSGICallableObject) является объект с именем application. Это имя – устоявшийся негласный выбор по-умолчанию (хотя и может быть изменён на каком-нибудь другом сервере). Этот объект должен обеспечивать всё взаимодействие с веб-приложением и является его частью. То есть, с этого объекта начинается уже ваше приложение и как оно будет реализовано, зависит от вас (разумеется, учитывая требования wsgi-стандарта). Также, в index.wsgi будет уместна активация виртуального окружения, если вы создали и используете его на аккаунте.

Сервер автоматически перезагружает приложение при любых изменениях в файле index.wsgi.

Пример реализации hello world в index.wsgi:

def application(environ, start_response):
    body = b'Hello world!\n'
    status = '200 OK'
    headers = [('Content-type', 'text/plain')]
    start_response(status, headers)
    return [body]
Также, корректный index.wsgi создаётся в директории сайта при установке Django.

Вопросы из этой категории:

  • Хочу разместить на хостинге сайт, сделанный на Python.  
  • Как установить Django?  
  • Установил Django, что дальше? Первые шаги  
  • Какая версия python используется на хостинге FullSpace?.  
  • Какой режим mod_wsgi используется на хостинге FullSpace? Как перезапустить свое приложение после внесения изменений в код?  
  • Как добавить robots.txt в Django?  
Внимание! Сайт использует cookie-файлы. Продолжая работать с сайтом, вы соглашаетесь на условия работы с cookie.

ajax-loader