Установка и настрока Django проекта на хостинге Beget
Мой сайт работает на хостинге Beget и написан с ипользованием Python и фреймворка Django. Бегет хорошо подходит для размещения небольших проектов как этот. В этой статье раскажу как хостить Django-проект на Бегете.
Для начала создадим сайт в панели администратора
- Создадим домен и прекрепим для него новую папку с каким-нибудь именем
- В разделе CMS, главного меню хостинга, выберем Django и установим каркас приложения
После установки фреймворка в конреновой директории можно найти файл README.txt следующего содержания
Django установленный системой автоматической установки cms LTD BEGET
Действия описанные ниже необходимо выполнять в docker-окружении выполнив команду ниже ssh localhost -p222
для установки дополнительных модулей используйте pip
сам Django располагается в папке
/home/u/username/site-directory/public_html/venv/ для начала надо переключиться на текущий virtualenv
заходим в папку с проектом
cd /home/u/username/site-directory/public_html
source venv/bin/activate
проверяем правильно ли определился путь до pip:
which pip
/home/u/username/site-directory/public_html/venv/bin/pip
теперь мы можем пользоваться pip’ом для установки модулей не указывая полного пути до исполняемого файла:
pip install
где имя модуля который мы хотим установить
Для перезапуска passenger в папке проекта достаточно выполнить команду touch на пустом файле restart.txt
pwd
/home/u/username/site-directory/public_html/HelloDjango/HelloDjango/tmp
touch restart.txt
Создание репозитория
Создайте репозиторий на любом из сервесов: Github, Bitbucket или Gitlab. Не рекомендуется хранить данные для подключения к базе данных в репозитории. Но если вы решили так сделать, не забудьте создать приватный репозиторий.
В личного кабинета в сайдбаре нужно включить SSH-доступ.
Подключимся к хостингу по ssh:
Пароль для доступа такой же как и от личного кабинета
Зайдем в docker-контейнер:
ssh localhost -p 222
Пароль для доступа такой же как и от личного кабинета
Инициализируем репозиторий в директории /public_html:
git commit -m «Initial commit»
Добавим ссылку на внешний репозиторий:
git add remotename url
Проверим, что репозиторий добавлен:
origin https://github.com/username/repository (fetch)
origin https://github.com/username/repository (push)
Привяжем ветку master к внешней ветке и отправим файлы в репозиторий:
git branch —set-upstream-to=origin/master
Теперь можно разрабатывать сайт на локальной машине. Когда нужно будет перенести сайт на сервер нужно выполнить одну команду и поправить конфигурационные файлы, если потребуется
Дополнительные действия
Для раздачи статики нужно сделать относительные ссылки:
В корневой директории
ln -s public_html public
На директорию static в public_html
rm -rf static
ln -s HelloDjango/static static
Создать сайт на Django
Установить Django на своём хосте довольно просто — можете изучить инструкцию ниже.
Для установки Django на хостинг потребуется больше манипуляций. Как это сделать на хостинге Beget вы можете узнать из моей статьи
На многих современных хостингах процедура будет похожей.
Установка Django
Первым делом советую обновить pip
python3 -m pip install —upgrade pip
Затем непосредственно установить Django
python3 -m pip install django
python3 -m django —version
python3 -m pip list
Package Version —————— ——— asgiref 3.3.4 Django 3.2.4 pip 21.1.2 pytz 2021.1 setuptools 39.0.1 sqlparse 0.4.1 typing-extensions 3.10.0.0
Команды Django
Список комад Django можно получить выполнив
python3 -m django help
Type ‘python -m django help ‘ for help on a specific subcommand. Available subcommands: [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).
В каждом проекте (project) обычно используется одно или несколько приложений (application)
Когда все приложения и конфигурации объединены они составляют веб-приложение.
applications + configurations = web application
Создаём первое приложение
python3 manage.py startapp first_app
Появится директория first_app в которой будут следующие файлы
Переходим в директорию Project_Name/Project_Name
Редактируем файл Project_Name/Project_Name/settings.py
Нужно добавить в список установленных приложений наше новое приложение first_app
INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘first_app’, ]
python3 manage.py runserver
Если перезапуск осуществляется с помощью скрипта выполняем (насколько я знаю, это актуально для хостингов beget и dreamhost)
(docker) andreyolegovich@server:~/eth1.ru [0] $ touch tmp/restart.txt
Создаём view и связываем с url
Процесс состоит минимум из трёх действий
- В директории с приложением, например Project_Name/first_app в файле views.py нужно создать функцию, которая будет слушать url
- В главной директории проекта, например Project_Name/Project_Name в файле urls.py нужно импортировать эту функцию
- По-прежнему в urls.py нужно добавить сочетание url и функции в urlpatterns
Пример: Переходим в директорию с приложением Project_Name/first_app и редактируем views.py , чтобы создать наш первый view.
Каждый view должен возвращать какой-то HttpResponse объект.
Добавляем следущий код в файл Project_Name/first_app/views.py:
from django.http import HttpResponse def about (request): return HttpResponse(«About Us!»)
Теперь нужно привязать этот view к какой-то url
Добавляем следующий код в файл urls.py
from first_app.views import about urlpatterns = [ path( » , ‘about’) ]
В urlpatterns можно указывать url разными способами
urlpatterns = [ path( » , welcome) , # Главная страница сайта path( ‘welcome.html’ , welcome) , # url с расширением .html path( ‘admin/’ , admin.site.urls) , # url со слешем на конце path( ‘date’ , date) # url без расширения ]
Обратите внимание на welcome — одна функция может обслуживать несколько url
Добавляем домен, на котором Вы разворачиваете сайт в ALLOWED_HOSTS файла (из проекта) settings.py
__pycache__
connection to first_app by
INSTALLED_APPS = [‘first_app’, ]
connection to templates by
TEMPLATES_DIR = os.path.join( BASE_DIR , » templates «)
urls.py
Работа с Django на хостинге Beget
Итак первым делом нужно в паели веб-сервера включить доступ по ssh для вашего аккаунта.
Далее подключаемся к нашему хостингу из терминала
ssh tabari@tabari.beget.tech
попав на сервер переходим в docker — окружение
ssh localhost -p222
Прежде чем идти дальше, предполагается, что у вас уже установлен Python на хостинге. Как устанавливать цитировать руководство не буду, просто оставлю ссылку на него, где все подробно расписано. В моем случае, нужно было установить Python 3, что я и сделал.
На сервере уже по умолчанию установлен git, поэтому переходим в папку Django приложения, обновляем проект командой, разумеется предварительно нужно инициировать репозиторий git
git pull
~/.local/bin/python3.5 ./manage.py migrate
А также копируем статику:
~/.local/bin/python3.5 ./manage.py collectstatic
После завершения настройки окружения необходимо создать каталог tmp, где будет хранится файл restart.txt:
(docker) django17@quasar:~/django17.bget.ru [0] $ mkdir tmp; touch tmp/restart.txt
Пересоздание tmp/restart.txt применяет новые изменения в проекте.
На этом пожалуй все, Очень качественный и недорогой хостинг, всем советую!
Django
Высокоуровневый веб-фреймворк на языке Python, который облегчает и ускоряет разработку веб-приложений.
Создать VPS
Django– это высокоуровневый веб-фреймворк, разработанный на языке программирования Python. Он предоставляет мощные инструменты для разработки веб-приложений, обеспечивая эффективную обработку URL-адресов, управление базами данных, шаблонами Django, а также формами и аутентификацией пользователей.
Django имеет модульную архитектуру, благодаря которой есть возможность использовать только необходимые компоненты. Фреймворк Django также обладает богатым набором инструментов и библиотек для решения повседневных задач, таких как работа с сессиями, кэширование, администрирование и безопасность. Благодаря своей гибкости и расширяемости Django является одним из самых популярных веб-фреймворков в мире и широко используется для создания различных типов веб-приложений.
Django от Бегета – это готовый к работе дистрибутив с установленным Django, развернутым стандартным проектом и установленным на домен SSL-сертификатом.
Состав приложения
- Ubuntu 22.04
- Python 3.10.6
- Django Latest
Установка Django
Для установки Python-фреймворка Django вместе с созданием сервера потребуется указать следующие дополнительные параметры:
- Доменное имя, по которому будет доступен Django. Вы можете как выбрать свой собственный домен, так и зарегистрировать новый. Помимо этого вы можете воспользоваться бесплатным доменом в зоне .beget.app. На указанный домен будет установлен бесплатный SSL-сертификат.
- Логин администратора. Он будет использован для входа в панель администратора Django.
- E-mail администратора. Он будет использован для входа в административную панель Django и получения уведомлений.
- Пароль администратора. Он будет использован для входа в административную панель Django.
- Имя Django-проекта. Имя проекта, который будет создан при разворачивании Django.
Работа с Django
Для проверки корректности развертывания Django вы можете перейти по ссылке вида https://my_domain.beget.app (где my_domain.beget.app – это ранее выбранный домен для установки) и увидеть страницу, сообщающую об удачной установке Django.

Файлы проекта Django расположены в home-директории пользователя django . Для дальнейшей работы с Django, будь то настройка проекта с нуля или импорт готового проекта, вам необходимо:
- Подключиться к серверу по SSH: ssh root@server_ip .
- Переключить с пользователя root на пользователя django командой sudo su — django .
- Перейти в директорию проекта командой cd myproject , где myproject – название проекта, которое вы указали при установке.
- Активировать виртуальное окружение командой source venv/bin/activate .
После выполнения вышеописанных действий вы можете начинать работать с проектом Django. Желаем удачной разработки с Django!
FAQ
Где найти информацию о проекте Django?
Информацию о проекте, которую вы указывали при установке, вы можете найти в панели управления, нажав на кнопку “Информация о Django”.


Где расположены файлы проекта Django?
Файлы проекта расположены в home-директории пользователя Django: /home/django/myproject , где myproject – название проекта, которое вы указали при установке.
Возможно ли развернуть дополнительные проекты?
Да, вы можете развернуть дополнительные проекты стандартными средствами Django, но информация в панели управления не обновится и в ней будут отображаться данные от самого первого проекта.
![]()
Django