Публикация Django-проекта на платформе pythonanywhere.com

Проект готов. Ему не хватает только одного: посетителей. Ваше новое задание — подготовиться к их визиту.

Зарегистрируйтесь на своём сайте, опубликуйте в своей ленте несколько постов: посетители должны увидеть наполненный сайт. В постах может быть что угодно: мемы, цитаты Конфуция об интернете, трагикомический триллер «как я написал этот проект», избранные места из переписки с ревьюерами — любая тема хороша. Устройте праздник сокурсникам и знакомым, пусть им будет интересно.

Питон — он всюду: pythonanywhere.com

Один из способов выложить сайт в интернет — воспользоваться услугами сервиса pythonanywhere.com: там можно получить бесплатное место на диске и удобные настройки для развёртывания проекта. Для коммерческой эксплуатации проекта предоставляемых ресурсов не хватит, и доменное имя будет не самое красивое — но для учебных целей этот сервис — то, что надо.Процесс несложный, приступим.

Регистрация и выбор имени для домена

Зарегистрируйтесь на сайте и подтвердите адрес электронной почты.Будьте предусмотрительны при выборе имени пользователя (логина): в бесплатном аккаунте URL вашего проекта будет таким: www.<username>.pythonanywhere.com. Для наших примеров мы выбрали имя paktikum.

После регистрации вам предложат ознакомительную прогулку по сервису. Если есть время — соглашайтесь, но это не обязательно.

Настройка и запуск пустого Django-проекта

После регистрации и авторизации вам будет доступно 512 Мб дискового пространства для размещения проекта. Этого более чем достаточно для Yatube.Поехали: на странице Dashboard щёлкните по кнопке Open Web tab:

Дальше: Web —> Add a new app:

Your web app’s domain name … Предложение улучшить аккаунт решительно отвергаем, жмём кнопку Next.





Select a Python Web framework —> DjangoНаш выбор — Django!

Select a Python version —> Python 3.8 (Django 2.2.7)

Выберите Python 3.8.

Project Name —> yatube

В поле Project Name укажите yatube. Это имя используется в настройках, так что лучше дать имя, соответствующее названию Django-проекта.

Готово! Перейдите по URL своего проекта <имя пользователя>.pythonanywhere.com: там будет запущен пустой проект Джанго.

Разворачиваем проект на сервере

Подготовьте проект к публикации: в список ALLOWED_HOSTS в файле hw05_final/yatube/settings.py добавьте два варианта адреса вашего сайта (вместо ваш_логин должно быть указано имя вашего аккаунта на pythonanywhere.com).

ALLOWED_HOSTS = [
    'www.ваш_логин.pythonanywhere.com',
    'ваш_логин.pythonanywhere.com',
] 

Эта настройка позволит работать вашему проекту не только на локальной машине, но и на вашем домене.

Следующий этап — залить файлы проекта на сервер.В меню сайта pythonanywhere.com перейдите по ссылке Files. Откроется страница с инструментами для добавления, удаления и редактирования файлов на вашем сервере.

Загружать файлы нужно в домашнюю директорию на сервере, она откроется при входе на страницу Files.

Можно создавать директорию за директорией и поштучно размещать в них файл за файлом. Но лучше создать на локальной машине zip-архив проекта через любой архиватор, который у вас установлен.

Другой вариант — создать zip-архив через bash-терминал:

# По этой команде будет создан zip-архив с названием исходной директории

zip -r hw05_final hw05_final 

Перед архивацией удалите из директории проекта папку venv — на сервере она не понадобится. Если вы забудете её удалить — ничего страшного не случится, просто загрузка и разархивация продлятся чуть дольше.

Теперь весь проект можно залить на сервер одним файлом.После загрузки должно получиться так:

Для распаковки архива на сервере графический интерфейс не предусмотрен. Пройдёмте в раздел Consoles: там живут терминалы. Наш выбор: Consoles —> Other —> Bash.

После запуска Bash перед вами окажется окно терминала:

Самое время вспомнить полезные команды:

ls — посмотреть файлы
cd <имя папки> — перейти в директорию <имя папки>
cd .. подняться на директорию выше
unzip hw05_final.zip — разархивировать архив hw05_final

Разархивируйте проект:

После этого перейдите в папку hw05_final, содержащую файл requirements.txt, и установите зависимости проекта. Если вы по несчастной случайности загрузили на сервер виртуальное окружение — активировать его не надо: на сервере будет лишь один проект.

pip3 install -r requirements.txt --user 
  • pip3 указывает явным образом, что используется python3.
  • --user для установки в вашем домашнем каталоге, что не требует никаких специальных привилегий. Без этого будет проблема с правами доступа.

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

Последний шаг — на странице Web в разделе WSGI configuration file:

Необходимо изменить конфигурационный файл <ваш_URL>_wsgi.py: в нём нужно указать правильное имя папки с кодом проекта: project_home = ‘/home/praktikum/hw05_final/yatube/’

После этого перезагрузите сервер — нажмите зелёную кнопку Reload <ваш_URL>

Ваш проект Yatube доступен в Интернете!





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: