• Главная

Вопросы и ответы - Макхост. Хостинг джанго


Запуск Django на хостинге — Техническая поддержка — NetAngels

Инструкции из этой статьи подойдут для Django устаревших версий (до 1.9).

Актуальные версии Django можно развернуть на облачном хостинге.

Django (Джанго) -- это свободный фреймворк, позволяющий быстро и качественно разрабатывать динамические веб-приложения на языке Python.

Django на хостинге доступен на тарифах виртуального хостинга Лайт, Стандарт и Профи.

В данной статье будет описываться один из способов запуска фреймворка Django на хостинге для тарифного плана "Профи". Выполнение настроек на сервере будет производиться через протокол SSH. Для установки соединения можно воспользоваться программой PUTTY и инструкциями из статьи SSH-доступ. Без каких-либо изменений приведенные инструкции будут работать для тарифов "Лайт" и "Стандарт".

Настройка virtualenv

Авторизовавшись на сервере, мы окажемся в своем домашнем каталоге. Внутри домашнего каталога располагаются каталоги ваших сайтов, а также служебные каталоги bin, etc, log и tmp.

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

virtualenv --system-site-packages ~/python

После выполнения указанной выше команды будет создан каталог python. Его содержимое выглядит следующим образом:

bin include lib

В директории python/bin находится исполняемый бинарный файл python и несколько дополнительных скриптов. В python/lib -- дерево каталогов, повторяющее такое же дерево каталогов у общесистемного python.

Для того чтобы код, написанный на языке python, работал в этом окружении, его нужно запускать, используя интерпретатор /home/uXXXX/python/bin/python, или воспользоваться следующими командами:

source ~/python/bin/activate echo "source ~/python/bin/activate" >> ~/.bashrc

Установка Django

Если вы уже активировали изолированное окружение, то установка может быть выполнена с помощью команды pip:

pip install Django

Проверка корректности установки

Выйдите из каталога с Django (например, перейдите в домашний каталог) и проверьте, импортируется ли модуль django.

cd python >>> import django >>> django.VERSION (1, 4, 0, 'final', 0) >>> django.__path__ ['/home/uXXXX/python/lib/python2.6/site-packages/django']

Если указанные команды выполняются без ошибок, значит установка Django на хостинге прошла успешно.

Развертывание проекта

Теперь мы можем создать пустой проект Django и приступить к его наполнению смыслом. Рекомендуем для каждого проекта создавать каталог внутри каталога с сайтом, к которому этот проект относится:

cd ~/sitename.ru && django-admin.py startproject myproject

Весьма вероятно, что проект на самом деле уже готов. В этом случае достаточно просто скопировать каталог с проектом в соответствующую папку.

Поскольку Django будет работать через интерфейс FastCGI, то для включения соответствующих настроек нам необходимо создать CGI-обработчик (враппер):

touch ~/sitename.ru/cgi-bin/django-wrapper.fcgi && chmod 755 ~/sitename.ru/cgi-bin/django-wrapper.fcgi

Созданный файл нужно заполнить следующим текстом:

Для Django версий 1.9 и старше

#!/home/uXXXXX/python/bin/python # -*- coding: utf-8 -*- import os import sys # Add a custom Python path. sys.path.insert(0, "/home/uXXXXX/sitename.ru/myproject") # Switch to the directory of your project. (Optional.) #os.chdir("/home/uXXXXX/sitename.ru/myproject") # Set the DJANGO_SETTINGS_MODULE environment variable. os.environ['DJANGO_SETTINGS_MODULE'] = "myproject.settings" from django_fastcgi.servers.fastcgi import runfastcgi from django.core.servers.basehttp import get_internal_wsgi_application wsgi_application = get_internal_wsgi_application() runfastcgi(wsgi_application, method="prefork", daemonize="false", minspare=1, maxspare=1, maxchildren=1)

Для Django версии 1.8 и более ранних версий

#!/home/uXXXXX/python/bin/python # -*- coding: utf-8 -*- import sys, os # Add a custom Python path. sys.path.insert(0, "/home/uXXXXX/sitename.ru/myproject") # Switch to the directory of your project. (Optional.) # os.chdir("/home/uXXXXX/sitename.ru/myproject") # Set the DJANGO_SETTINGS_MODULE environment variable. os.environ['DJANGO_SETTINGS_MODULE'] = "myproject.settings" from django.core.servers.fastcgi import runfastcgi runfastcgi(method="prefork", daemonize="false", minspare=1, maxspare=1, maxchildren=1)

здесь:

  • uXXXXX -- имя вашего пользователя на сервере хостинга. В большинстве случаев, совпадает с логином
  • myproject -- название созданного проекта

Обратите особое внимание на первую строку:

#!/home/uXXXXX/python/bin/python

Эта строка заставляет работать Python в созданном виртуальном окружении.

Теперь необходимо сообщить веб-серверу Apache о том, что для обработки поступающих запросов должен использоваться созданный ранее враппер. Создадим файл .htaccess в каталоге sitename.ru/www и запишем в него следующее указание:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ cgi-bin/django-wrapper.fcgi/$1 [QSA,L]

Обратившись к сайту sitename.ru через браузер, мы должны увидеть приветственное сообщение от Django. Это означает, что настройки выполнены правильно и можно приступать к работе с проектом.

Дополнительные замечания

  • На серверах хостинга у Вас не получится установить python-модуль, который содержит в себе компоненты, написанные на Си и компилирующиеся в процессе установки.
  • Чтобы перезапустить FastCGI-процесс после обновления кода, достаточно принудительно завершить все текущие FastCGI-процессы командой pkill -u uXXXX -f django-wrapper.fcgi

Настройка каталогов для хранения static и media

Начиная с Django 1.3, фреймворк упорядочил работу со staticfiles и mediafiles.

Теперь после обновления кода на сервере необходимо еще и выполнять команду ./manage.py collectstatic. Эта команда собирает всю статику из каталогов приложений, и копирует ее в единый каталог, указанный в settings.py.

Для корректного отображения статики и медиафайлов, а также для корректной работы management-команды нужно внести следующие настройки в settings.py.

MEDIA_ROOT = '/home/uXXXX/sitename.ru/www/media' MEDIA_URL = '/media/' STATIC_ROOT = '/home/uXXXX/sitename.ru/www/static' STATIC_URL = '/static/'

www.netangels.ru

Django — КОМТЕТ — хостинг

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

Django. Краткое руководство по установке

Статья описывает процесс установки python-фреймворка Django для установки на локальном компьютере. Для Клиентов хостинга КОМТЕТ Django, как и Python, уже установлен.

Django - общие вопросы

Статья о Django посвящена релизу Django SVN, истории создания данного фреймворка, и его отличиям от других фреймворков. Ну и традиционному вопросу: почему «Django»?

Взгляд на Django

В статье "Django at glance" автор представляет технические данные, чтобы понять, как функционирует Django. Статья посвящена новому релизу Django, который может существенно отличаться от предыдущих релизов.

Релиз Django 1.2 alpha 1

В статье "Django 1.2 alpha 1 release notes" автор говорит об основных изменениях, которые вошли в данную альфа-версию, а также указывает примерные сроки выхода окончательного релиза.

www.komtet.ru

Как начать проект на Django? — Вопросы и ответы — Джино • Хостинг

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

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

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

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

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

    pip install --upgrade django

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

    pip install --upgrade django==1.4

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

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

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

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

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

  • Откройте файл 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.

  • В директории домена, на котором будет находиться ваш проект (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, загляните в раздел «Хостинг / Статистика / Лог-файлы».

    hosting.jino.ru

    Автоустановка Django / Блог компании КОМТЕТ / Хабр

    Здравствуй, Хабр! Группа товарищей из КОМТЕТ — администраторы и программисты — поставляет хостинг в привычном аудитории комплекте php/python/perl/ruby, но старается предложить что-то новое и продолжает развиваться. На Хабре хотим не только поделиться опытом, как организовать хостинг «всё в одном» и выжить, но надеемся на отзывы хабралюдей о наших нововведениях. За время существования мы сталкивались со множеством подводных камней — как в технических вопросах, так и в политических и правовых, практика работы будет интересна, от общения и сотрудничества с зарубежными компаниями Parallels, Invision Power, Boonex и другими, до публикаций на Яндекс.Новостях, CMS Magazine наших RSS-каналов. Интересы — от разработок PHP-движков в России и автоматизации работы хостинга, до развития Python-фреймворков и систем виртуализации. Надеемся, что наши статьи и новости будут интересны здесь и очень рассчитываем на мнение и советы Хабра.

    Спасибо за рекомендации сообщества в комментариях, добавлен материал, планировавшийся к публикации завтра: —

    Django и хостинг
    Django не нуждается в представлении, самый активно развивающийся python-фреймворк на данный момент. КОМТЕТ предлагает Клиентам 4 основных фреймворка: Zope, Django, TurboGears, Pylons (и первым в списке появился именно Zope), но Django-проектов значительно больше. Zope имеет достаточно высокий порог вхождения и в основном используется для серьёзных порталов в связке с CMS Plone (наиболее яркий пример archi.ru), а TurboGears и Pylons малоизвестны в России. Что же сейчас предлагается на рынке для размещения Django-сайтов?Предустановленный Django Наиболее распространённый вариант поддержки – предустановленная версия Django + Python. Очевидный минус – нет возможности самостоятельно перейти на новую версию Django без желания хостера. При смене версии – может перестать работать Ваш проект, по причине отсутствия полной совместимости. Выход из этого есть – установка новой версию Django «рядом» с существующей. И для перехода на новую версию достаточно изменить пути в файлах конфигурации проекта. На заметку: на тарифах без SSH – можно разместить готовый проект, при необходимости, перезапуск проекта осуществляя вызовом php-скрипта: Своя версия Django При наличии полного SSH-доступа к консоли – есть возможность установить свою версию Django+Python. Собственно, идеальный вариант для профессионала, т.к. за счёт использования virtualenv – даёт полную независимость проекта.«Автоустановка» Вопрос – как упростить процесс установки Django и развёртывания проекта – нас достаточно давно интересует. КОМТЕТ предлагает хабра-сообществу принять участие в тестировании новой возможности – автоустановки Django на хостинг. Как это работает? В панели управления хостингом каждый может создать новый Django-проект с установленной последней стабильной версии Django (на момент установки) + Python. Причём сразу же при установке выбираются опции:
    1. подключение к БД MySQL/PostgreSQL;
    2. установка панели администрирования (с выбором языка).
    Сама технология установки – это т.н. пакет в стандарте APS (apsstandard.org), дистрибутив Django – с официального сайта djangoproject.com. Технология активно используется для установки на хостинге PHP-приложений, но применима и для perl, python, ruby и т.п. В штате есть программисты, работающие именно для развития. Зачем автоустановка?
    1. Снижение «порога вхождения»
    2. Упрощение инсталляции
    3. Чтобы избежать «традиционных» вопросов по установке и развёртыванию проекта — экономия времени технической поддержки и пользователей

    Как это выглядит:

    Заранее благодарен за комментарии. Статью буду править по мере комментирования материала. Если некоторые моменты в автоустановке не понятны, обязательно распишу детально.

    Спасибо за внимание!

    С уважением, Ивановский Михаил. КОМТЕТ

    habr.com

    Как установить django на хостинг ?

    Эта инструкция позволит вам установить Django Framework. Вам понадобится любой клиент, который поддерживает протокол SSH (например, putty).

    1) Создаем директорию private в домашнем каталоге:

    cd ~ && mkdir -p ~/private/lib/python2.7/site-packages

    2) Прописываем параметры окружения:

    export PYTHONPATH="$HOME/private:$HOME/private/lib/python2.7/site-packages"

    3) Добавляем данную строку (export) в файл .bashrc который размещен в нашем домашнем каталоге:

    echo "export PYTHONPATH=\"$HOME/private:$HOME/private/lib/python2.7/site-packages\""  >>  $HOME/.bashrc

    4) Установка пакета django: Переходим в директорию private:

    cd ~/private/

    Загружаем пакет с Django необходимой версии:

    wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.8.tar.gz

    Извлекаем файлы из архива:

    tar -xzf Django-1.8.8.tar.gz

    Меняем имя директории с файлами:

    mv Django-1.8.8 django

    Переходим в директорию с django:

    cd django

    Запускаем процесс установки:

    python2.7 setup.py install --prefix=$HOME/private

    5) Дополнительная настройка окружения для удобства:

    ln -s /usr/bin/python2.7 $HOME/private/bin/python

    установка PATH к дополнительной директории bin

    export PATH="$HOME/private/bin:$PATH"

    После чего добавляем export PATH в файл .bashrc:

    echo "export PATH=\"$HOME/private/bin:$PATH\"" >> $HOME/.bashrc

    6) Установка пакета Flup, необходимого для функционирования fcgi. Процедура установки аналогична Django:

    cd ~/private && wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz tar xzvf flup-1.0.2.tar.gz && mv flup-1.0.2 flup && cd flup python2.7 setup.py install --prefix=$HOME/private

    7) Далее необходимо создать fcgi-скрипт и поместить его в директорию /home/httpd/vhosts/site.com/cgi-bin/ (где site.com - адрес вашего сайта) : Для примера название файла будет site.fcgi с содержанием:

    #!/usr/bin/python2.7 import sys, os sys.path.append('/home/httpd/vhosts/site.com/private') sys.path.append('/home/httpd/vhosts/site.com/private/lib/python2.7/site-packages') sys.path.append("/home/httpd/vhosts/site.com/private/django") sys.path.append("/home/httpd/vhosts/site.com/private/flup") sys.path.append("/home/httpd/vhosts/site.com/httpdocs/djmc") # more path stuff os.environ['DJANGO_SETTINGS_MODULE'] = "djmc.settings" from django.core.servers.fastcgi import runfastcgi runfastcgi(method="threaded", daemonize="false")

    Где djmc название созданого Django проекта и site.com имя вашего домена.

    Установим права на файл site.fcgi:

    chmod 755 site.fcgi

    Создаем файл .htaccess в корне сайта с содержимым:

    AddHandler fcgid-script .fcgi Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^(media/.*)$ - [L] RewriteRule ^(adminmedia/.*)$ - [L] RewriteCond %{REQUEST_URI} !(cgi-bin/site.fcgi) RewriteRule ^(.*)$ cgi-bin/site.fcgi/$1 [L]

    7) Создание проекта Django: Переходим в директорию с сайтом:

    cd $HOME/httpdocs/

    Создание проекта, где djeuro название проекта:

    django-admin startproject djmc django-admin syncdb

    Установка Django успешно завершена, на сайте site.com должна отобразиться страница приветствия Django.

    Данная инструкция подходит для всех версий Django кроме 1.9, по причине отсутствия поддержки fastcgi в данной версии.

    mchost.ru

    Виртуальный хостинг Django, модель N / Хабр

    Существует множество способов разворачивания Django-приложений в *nix-среде. Не буду претендовать на оригинальность, просто поделюсь самым-самым-самым-самым своим.
    Вводные условия
    Предпосылки:
    • Один клиент (заказчик) — один юзер в системе на сервере.
    • Все проекты клиента — в одной файловой иерархии.
    • Virtualenv — это хорошо и must use.
    • Ftp — зло, используем современные средства (sftp).
    • Количество файлов для управления проектами должно быть сведено к минимуму.
    Используемый софт:
    • nginx
    • uwsgi
    • cron
    • virtualenv
    • openssh
    И нефиг тут шариться
    Часто бывает так, что наряду с разработчиками к файловому дереву своих проектов желают иметь доступ также и пользователи/клиенты/заказчики (называть можно как угодно), т.е. «почти» сторонние люди. А значит ограничить сторонних пользователей в возможности шариться по дискам сервера — неплохая идея. На первый взгляд приходит идея ограничить пользователя своей домашней директорией. Не стоит поддаваться этому порыву, ведь в своей домашней директории пользователь царь и бог, и одно неверное движение и ты отец может привести к неработоспособности проекта. Поэтому пойдем на хитрость и создадим следующую иерархию:/home /client -- директория с проектами данного клиента /client -- домашняя директория пользователя "client" /another_project /project /www-root /static /app1 /app2 manage.py settings.py django_wsgi.py ... /var /log -- логи nginx'a, не забыть включить ее в logrotate /tmp -- chmod 770 -- временные файлы проекта /run -- тут будут пиды и сокеты /client2 -- директория с проектами другого клиента /client3 -- директория с проектами еще одного клиента домашняя директория пользователя «client» имеет права client:client, остальные директории, если это особо не оговорено, root:client и chmod 750 соответвтенно. В группу client также надо включить пользователя nginx для того, чтобы nginx имел право доступа к статическим файлам внутри проекта. Также в системе создаем группу sftponly в которую включаем клиентов. В конфиг sshd (/etc/ssh/sshd_config) добавляем следующее:Match Group sftponly X11Forwarding no AllowAgentForwarding no AllowTcpForwarding no ChrootDirectory /home/%u ForceCommand internal-sftp и строчку Subsystem sftp /usr/lib/misc/sftp-serverзаменяем на Subsystem sftp internal-sftp В итоге мы получаем ситуацию, когда пользователь, зайдя на сервер по sftp (допустим используя winscp) попадает в свою домашнюю директорию, может подняться на один уровень вверх, шастать по своим проектам, смотреть логи. Однако подняться выше или удалить какую либо важную директорию он не в силах (chmod 750 однако).
    nginx — как много в этом слове
    Nginx — пожалуй лучший из http-серверов для отдачи статического контента и разруливания вопросов связанных с генерацией динамического. В нашем случае nginx должен быть собран вместе с uwsgi-модулем (идет в штатной поставке). При установке по умолчанию (по крайней мере в gentoo) nginx хранит свои конфиги в /etc/nginx. Не будем нарушать эту традицию, и даже наоборот попытаемся ей воспользоваться. В основной конфиг nginx'a (/etc/nginx/nginx.conf) в конец секции http нужно добавить строчку include /etc/nginx/vhost.d5 * * * * nust -s -c /etc/nust.confсо своим файлом конфигурации. Файл конфигурации имеет две секции, первая из которых относится непосредственно к nust'y и определяет пути и утилиты, которые им используются, а вторая — умолчания для uwsgi.[nust] pstree = /usr/bin/pstree vhosts = /etc/nginx/vhost.d/*.conf uwsgi = /usr/bin/uwsgi uwsgi_def_args = --ini=/etc/nust.conf dbdir = /var/run kill = /bin/kill -s TERM kill_k9= /bin/kill -s KILL [uwsgi] master= disable-logging= vacuum= logfile-chown= chmod-socket=666 catch-exceptions= memory-report= Проинсталлировать nust в систему можно следующим образом:sudo pip install nust В конфиге nginx'a с помощью «фигурного комментария» #uwsgi# можно переопределить следующие опции:
    • WORKERS — количество параллельных рабочих процессов
    • MODULE — имя стартуемого python-модуля (django_wsgi.py)
    • PRJ — имя проекта
    • PID — pid-файл дерева рабочих процессов (var/run/uwsgi.pid)
    • LOG — путь к лог-файлу uwsgi (var/log/uwsgi.log)
    • HARAKIRI — максимальное время выполнения запроса, сек.
    • MAX_REQ — количество обрабатываемых запросов, после которых рабочий процесс будет перезапущен
    А вот эти опции являются обязательными:
    • USER — пользователь из под которого будет запущен проект
    • HOME — домашняя директория проекта (НЕ ПОЛЬЗОВАТЕЛЯ!)
    • VE — путь к виртуальному окружению (результату работы virtualenv)
    • SOCKET — где создавать файл-сокет. Если не задан, то будет взят из секции upstream.
    Пути могут указываться тремя способами:
    • абсолютный путь, начинается со слэша (/tmp)
    • путь относительно домашней директории пользователя (~/gde-to/tam/)
    • путь относительно домашней директории проекта (var/run/uwsgi.pid)
    Для старта какого-либо питоновского кода под uwsgi нужен так называемый модуль. Для запуска django подойдет следующий код, размещенный в django_wsgi.py:#!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import unicode_literals import os os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() Прописывать запуск nust'a в стартовые скрипты системы нет необходимости, так как nust запускается по крону периодически. Помимо просто старта проектов nust следит за их состоянием (упал, не запущен, запущен, но не пингуется), а также за состоянием конфигов виртуальных хостов nginx'a. Если конфиг виртуального хоста был изменен, то соответствующий ему проект будет перезапущен.
    Вместо послесловия
    Ну вот собственно и все. Надеюсь не забыл ничего важного. Спасибо за внимание.

    habr.com

    Бесплатный django хостинг - uzverss

    07:18 pm - Бесплатный django хостинг

    В данной статье рассматривается бесплатный хостинг для django проектов - pythonanywhere.com.Для начала заходим на сайт - https://www.pythonanywhere.com/pricing/Находим и кликаем по ссылке Create a Beginner accountОткрывается форма регистрации. В ней вводим данные для регистрации (имя, почта, пароль). После регистрации нас просят подтвердить почту, что и необходимо сделать.Далее заходим в вкладку Web

    Нажимаем "Add a new web app". Открывается форма настройки. Кликаем Далее (Next), затем будет предложено выбрать фреймворк. Кликаем по DjangoВыбираем версию питона (советую последнюю на момент написания статьи - 3.5)Выбираем имя для проекта (видно только вам)Ждем (может длиться некоторое время)После ожидания появится страница, что все готово. Можно пройти на ваш сайт (ссылка вида <username>.pythonanywhere.com) и увидеть, что все работает.Можете зайти на страницу администрирования (/admin/), но дальше этого не продвинетесь, потому что не применены миграции и не создан суперюзер.Для того, чтобы применить миграции и создать суперпользователя django, надо перейти на вкладку files.Слева выбрать папку с названием вашего проектаОтобразится два файла - db.sqlite3 и manage.pyТеперь надо найти ссылку "Open Bash console here"По прошествии некоторого времени откроется консоль. Вначале применим миграции командой ./manage.py migrate                 Затем создадим суперпользователя командой ./manage.py createsuperuser     Будет предложено выбрать логин суперюзера, затем ввести email, а затем парольПри вводе пароля помните, что символы, которые вы вводите, не показываются - эта особенность консолей сделана для того, чтоб никто не увидел ваш пароль и его длину. После надо будет ввести пароль еще раз для подтверждения правильности.Как только все эти шаги будут сделаны, можно будет войти в админку под пользователем, которого вы создали на предыдущем шаге. Но админка будет почти пустая. Далее уже идет разработка самого сайта на django - об этом в следующей статьеhttp://pygo.ru/django/base/django-hosting-pythonanywhere.htmlhttp://uzverss.livejournal.com/58379.html

    uzverss.livejournal.com