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

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

    1. Подключитесь к серверу по SSH и создайте и активируйте виртуальное окружение Python (если вы создаете не первый проект и в качестве виртуального окружения хотите использовать уже существующее, пропустите этот и следующие два шага). Введите команды:

      virtualenv-2.7 virtualenv/MyEnv
      . virtualenv/MyEnv/bin/activate
      

      В результате будет создана папка virtualenv/MyEnv. Вместо MyEnv вы можете выбрать и любое другое имя виртуального окружения.

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

      pip install --upgrade django
      

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

      pip install --upgrade django==1.4
      

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

    3. Создайте папку, где будут располагаться ваши проекты. Эта папка должна находиться вне DOCUMENT_ROOT, то есть вне папок вида domains/имя_домена. Лучшим вариантом будет создать папку django рядом с директорией domains:

      mkdir django
      
    4. Перейдите в папку с проектами и создайте новый проект:

      cd django
      django-admin.py startproject имя_проекта
      

      В результате будет создана папка имя_проекта со стандартным шаблоном Django-проекта.

    5. Откройте файл settings.py и измените в нем значения необходимых переменных. В качестве значения переменной STATIC_ROOT укажите os.path.join(os.path.expanduser('~'), 'domains/имя_домена/static/'), добавив в самое начало файла строку import os.

      Внимание! Если вы будете использовать команду syncdb через SSH, то при использовании MySQL в качестве движка баз данных в поле HOST словаря DATABASES['default'] обязательно нужно указать IP 127.0.0.1. Подробнее об этом здесь.

      Более подробную информацию о переменных, доступных для редактирования в settings.py, можно найти в документации Django.

    6. В директории домена, на котором будет находиться ваш проект (domains/имя_домена) создайте файл django.wsgi и поместите в него такие строки:

      import os, sys
      virtual_env = os.path.expanduser('~/virtualenv/MyEnv')
      activate_this = os.path.join(virtual_env, 'bin/activate_this.py')
      execfile(activate_this, dict(__file__=activate_this))
      sys.path.insert(0, os.path.join(os.path.expanduser('~'), 'django/имя_проекта'))
      os.environ['DJANGO_SETTINGS_MODULE'] = 'имя_проекта.settings'
      from django.core.wsgi import get_wsgi_application
      application = get_wsgi_application()
      

      Примечание. Обратите также внимание на пятую и шестую строки этого кода: если вы в своих проектах обычно не используете имя проекта внутри оператора import (например, «from имя_приложения.models import *», а не «from имя_проекта.имя_приложения.models import *» в файле views.py), то указывать имя проекта в пятой строке нужно два раза, а в шестой, наоборот, не нужно:

      sys.path.insert(0, os.path.join(os.path.expanduser('~'), 'django/имя_проекта/имя_проекта'))
      os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
      

      Вернитесь к этому примечанию, если будете получать ошибки вида «ImportError: No module named...»

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

      AddHandler wsgi-script .wsgi
      RewriteEngine on
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]
      

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

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

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

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

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

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

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

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

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

Поделитесь собственным опытом
Пишите статьи и записывайте видеоролики о том, как пользоваться услугами «Джино»! Таким образом вы не только поможете другим пользователям, но и получите от 900  на свой счет в программе «Джино.Плюсы ».
Приложение «Джино.Ключ»
Служба техподдержки
Нашли ошибку в тексте? Выделите ее и нажмите Ctrl + Enter
© «Джино», 2003–2018. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 150549 от 09.03.2017. Правовая информация. Карта сайта