• Как создать простейшее веб-приложение на Python?

    1. Подключите на своём аккаунте услугу «Поддержка скриптовых языков» *.

    2. Определитесь с доменом, на котором будет располагаться ваше приложение, и добавьте его на аккаунт в разделе «Хостинг / Домены» контрольной панели. Убедитесь, что домен привязан к сервису «Хостинг».

      Если вы хотите использовать поддомен, то также добавьте его в общий список доменов в этом разделе.

    3. Перейдите в раздел «Хостинг / Управление / Настройки веб-сервера» и выберите версию Python, которую вы хотите использовать.

      В этой инструкции мы будем использовать технический домен username.myjino.ru (подставьте вместо username свой логин на «Джино») и Python 3.6.

    4. В файловом менеджере создайте файл simple.wsgi (имя может быть любым) в папке выбранного домена (в нашем случае это папка domains/username.myjino.ru) и определите в нём функцию application, которая будет формировать ответ сервера согласно спецификации WSGI:

      def application(env, start_response):
          start_response('200 OK', [('Content-Type','text/html')])
          return [b"Hello World"]
      
    5. Рядом создайте файл .htaccess и добавьте в него строку:

      AddHandler wsgi-script .wsgi

    6. Перейдите в браузере по адресу http://username.myjino.ru/simple.wsgi, и если всё сделано правильно, то на экране появится текст «Hello World». Наше простейшее веб-приложение готово.

    * Если ваш аккаунт создан до 25.10.2021 г., то вам нужно вместо услуги «Поддержка скриптовых языков» подключить услугу «Поддержка Python + Django».

  • Как начать проект на Django?

    Прежде всего убедитесь, что у вас подключена услуга «Поддержка скриптовых языков» *. На время разработки вам также часто будет нужен доступ по SSH, поэтому перед созданием нового Django-проекта подключите и услугу «Поддержка SSH». Если в качестве базы данных вы будете использовать MySQL, соответствующая услуга также должна быть подключена.

    1. Определитесь с доменом, на котором будет располагаться ваш сайт, и добавьте его на аккаунт в разделе «Хостинг / Домены» своей контрольной панели. Убедитесь, что домен привязан к сервису «Хостинг».

      Если вы хотите использовать поддомен, то также добавьте его в общий список доменов в этом разделе.

    2. Перейдите в раздел «Настройки веб-сервера» и выберите версию Python, которую вы хотите использовать. На данный момент доступны версии 3.9, 3.8, 3.7, 3.6 и 2.7.

      В этой инструкции мы будем использовать технический домен username.myjino.ru (подставьте вместо username свой логин на «Джино») и Python 3.8.

    3. Подключитесь к серверу по SSH.

    4. Создайте папку, где будут располагаться ваши проекты. Эта папка должна находиться вне DOCUMENT_ROOT, то есть вне папок вида domains/имя_домена. Одним из вариантов будет создать папку projects рядом с директорией domains и в ней — папку для проекта (назовём наш проект demo):

      mkdir -p ~/projects/demo
      
    5. Перейдите в эту папку, затем создайте и активируйте виртуальное окружение Python. Введите команды:

      cd ~/projects/demo
      virtualenv-3.8 env      
      . env/bin/activate
      

      После virtualenv- укажите ту версию Python, которая используется в вашем случае. В результате будет создана папка ~/projects/demo/env.

    6. В рамках виртуального окружения установите свежую версию Django:

      pip install --upgrade django
      

      Можно установить и любую другую версию. Например, последнюю версию из ветки 2.1.x:

      pip install --upgrade 'django<2.2'
      

      Таким же образом можно установить и любые другие модули Python.

    7. Cоздайте новый Django-проект:

      django-admin startproject demo
      

      В результате будет создана ещё одна вложенная папка demo со стандартным шаблоном Django-проекта.

      Проверим его работоспособность, команда check должна сообщить об отсутствии ошибок:

      ./demo/manage.py check
      
    8. Откройте файл ~/projects/demo/demo/demo/settings.py и измените в нем значение переменной ALLOWED_HOSTS: вставьте в список имя того домена, на котором вы хотите разместить свой сайт. Например, для технического домена:

      ALLOWED_HOSTS = ['username.myjino.ru']
      
    9. В директории домена, на котором будет находиться ваш проект (в нашем случае — domains/ваш_логин.myjino.ru) создайте файл django.wsgi и поместите в него такие строки:

      import os, sys
      virtual_env = os.path.expanduser('~/projects/demo/env')
      activate_this = os.path.join(virtual_env, 'bin/activate_this.py')
      exec(open(activate_this).read(), dict(__file__=activate_this))
      sys.path.insert(0, os.path.expanduser('~/projects/demo/demo'))
      from demo.wsgi import application
      

      Затем создайте в той же папке еще один файл — .htaccess — и поместите в него следующие директивы:

      AddHandler wsgi-script .wsgi
      RewriteEngine on
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]
      
    10. Откройте сайт в браузере, и если всё сделано правильно, то вы должны увидеть стандартную страницу-заглушку Django, сообщающую об успешной установке.

    Если же в результате выполнения этих действий получаете в браузере ошибку 500, загляните в раздел «Хостинг / Статистика / Лог-файлы».

    На этом установка проекта завершена. Теперь вы можете создавать приложения и приступать к разработке.

    * Если ваш аккаунт создан до 25.10.2021 г., то вам нужно вместо услуги «Поддержка скриптовых языков» подключить услугу «Поддержка Python + Django».

  • Какие версии Django и Python установлены на хостинге?

    Доступны версии Python 2.7, 3.6, 3.7, 3.8 и 3.9. Вы можете выбрать разные версии Python для разных доменов в разделе «Хостинг / Управление / Настройки веб-сервера». По умолчанию используется Python 2.7.

    Версию Django вы можете установить любую при создании виртуального окружения (см. «Как начать проект на Django?»).

  • Установлена ли библиотека PIL?

    Да, библиотека Python Imaging Library (PIL) установлена.

  • Можно ли установить дополнительные модули Python?

    Да, в рамках виртуального окружения Python (virtualenv) вы можете устанавливать любые необходимые модули. Для этого соединитесь с сервером по SSH и выполните следующие команды:

    . virtualenv/MyEnv/bin/activate # переключаемся в виртуальное окружение
    pip install имя_модуля # устанавливаем модуль
    

    В данном примере подразумевается, что у вас установлено виртуальное окружение в папке virtualenv/MyEnv. Как создать и использовать виртуальное окружение Python, описано здесь.

  • Иногда изменения, внесенные в код проекта на Django, не применяются. Что делать?

    Действительно, иногда бывает так, что код кэшируется, и чтобы изменения вступили в силу, необходимо перезагружать веб-сервер. Это можно сделать через контрольную панель в разделе «Хостинг / Управление / Настройки веб сервера», нажав на кнопку «Перезагрузить».

  • Какие СУБД я могу использовать с Django?

    Вы можете использовать базы данных MySQL, PostgreSQL (при подключении соответствующих услуг) и SQLite.

  • Обязательно ли подключать SSH для работы с Django?

    Нет, SSH нужен лишь для работы с утилитами django-admin и manage.py, если вы разрабатываете свой проект прямо на нашем сервере. Однако вы можете вести разработку на своем локальном хосте, и лишь копировать обновленные файлы и содержимое БД на сервер.

  • У меня не работает команда syncdb. Почему?

    Если вы ведете разработку прямо на сервере, используете MySQL в качестве БД и пытаетесь синхронизировать базу данных командой python manage.py syncdb, то в качестве значения поля HOST словаря DATABASES['default'] в файле settings.py обязательно нужно указать IP 127.0.0.1. Однако это несколько снизит скорость соединения с БД, поэтому после окончания работы с утилитой manage.py верните данное значение в исходное положение (пустая строка).

Служба техподдержки
Нашли ошибку в тексте? Выделите ее и нажмите Ctrl + Enter
+7 495 229-30-31 Москва
+7 812 407-17-11 Санкт-Петербург
+7 343 288-50-31 Екатеринбург
© Джино, 2003–2024. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 150549 от 09.03.2017.
Правовая информация Политика конфиденциальности Карта сайта