RU 
Регистрация

хостинг: ValueHost 2.0
           

Помощь


Акции:

Выбери свой бонус!
Наш типаж 2.0!

Python Django

Django (Джанго) — свободный фреймворк для веб-приложений на языке Python. Изначально проект был создан для управления новостными сайтами LJWorld.com, lawrence.com и KUsports.com, принадлежащими компании The World Company (Лоуренс, Канзас (en), США).

Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например Ruby on Rails).

Также в отличие от других фреймворков обработчики URL в Django конфигурируются явно при помощи регулярных выражений, а не выводятся автоматически из структуры моделей контроллеров.

Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.

 На базе Django разработан ряд готовых решений со свободной лицензией, среди которых интернет-магазины, системы управления содержимым, а также более узконаправленные проекты.

 Рассмотрим установку Django приложения на примере django CMS.

Подготовка Веб-сервера и базы данных

  
Первое, что нам необходимо сделать - это получить доступ к SSH:

  • Панель управления -> SSH -> Устаналиваем пароль и флаг Вкл. (либо ограничиваем по IP)

Далее, создаем базу для нашего приложения:

  • Панель управления -> Базы данных -> MySQL или PgSQL на выбор
  • Запоминаем название базы, пароль, тип, и адрес сервера базы данных.

Создаем виртуальный сервер:

  • Панель управления -> Веб-серверы -> Создать новый:
    • Приложения на сервере ->Python (mod_wsgi)
    • Корневая папка -> django_data
    • Имя Сервера -> mydomain.ru
    • Включить акселератор отдачи статического контента -> Вкл.
    • Индексные Файлы -> index.wsgi
    • .htaccess -> Вкл.
  • Сохранить

Установка приложения

Пока применяются настройки для нового сервера (это занимает не более получаса, состояние можно посмотреть Панель управления -> Главная), создадим приложение на сервере.

Используя любой SSH клиент, заходим на сервер:

  • ssh my_admin_login@mydomain.ru

Где,

  • my_admin_login - Ваш логин администратора
  • mydomain.ru - Ваш домен либо технический адрес сервера

После ввода пароля (его мы задали в самом начале), выполняем следующую команду:

  • #django-admin.py startproject django_app

Где,

  • django_app - директория Django приложения

Копируем дистрибутив django CMS:

  • #cp -R /usr/local/lib/python2.6/site-packages/django_cms-2.0.2-py2.6.egg/* ~/django_app

Либо скачиваем последню версию и распаковываем содержимое в каталог ~/django_app

Копируем пример конфигурации CMS из дистрибутива:

  • #cp -R  ~/django_app/example/* ~/django_app/

Настраиваем конфигурацию, путем редактирования файла ~/django_app/settings.py:

  • DATABASE_ENGINE = тип базы данных: mysql либо postgresql
  • DATABASE_NAME = Название базы
  • DATABASE_NAME = Название базы
  • DATABASE_USER = Пароль, указанный при создании базы
  • DATABASE_HOST = Адрес сервера базы данных
  • MEDIA_ROOT = os.path.join(PROJECT_DIR, 'cms/media/')
    ADMIN_MEDIA_PREFIX = '/media_admin/'

В  INSTALLED_APP комментируем строчку:

  • 'south',

Должно получиться так:  

  • #'south',

Сохраняем файл и из командной строки выполняем команду:

  • #python ~/django_app/manage.py syncdb

Отвечаем на вопросы:  

  • You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes
  • Username (Leave blank to use 'example'): Логин администратора
  • E-mail address: email администратора
  • Password: Пароль администратора
  • Password (again): Подтверждение пароля

К этому моменту настройки веб-сервера уже применились и в домашней директории создался каталог веб-сервера django_data.

Создаем обработчик ~/django_data/index.wsgi следующего содержания:

import os, sys
root_path = os.path.abspath(os.path.split(__file__)[0])

sys.path.append(root_path+'/..')
sys.path.append(root_path)
sys.path.append(root_path+'/../django_app/')

os.environ['DJANGO_SETTINGS_MODULE'] = 'django_app.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Делаем обработчик исполняемым:

  • #chmod 500 ~/django_data/index.wsgi

Сообщяем веб-серверу, что все запросы должны обрабатываться django при помощи ~/django_data/.htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.wsgi/$1 [L,QSA]

Копируем медиа контент для панели администратора:

  • #cp -R /usr/local/lib/python2.6/site-packages/django/contrib/admin/media ~/django_data/media_admin 

Все, CMS установлена, заходим по адресу, указанному в имени сервера и авторизуемся с логином и паролем администратора.

Установка дополнительных модулей

Если Вам потребуется установка дополнительных модулей python - обращайтесь в Поддержку Онлайн из Вашей Панели управления, и мы с радостью это сделаем.