Содержание
Как установить Django на хостинг – База знаний Timeweb Community
Инструменты разработки сайтов постоянно совершенствуются. Расширения функционала ресурсов обычно добиваются за счет применения различных языков программирования, например того же Python. Однако он требует довольно много времени, чтобы создавать интерактивные модули с нуля, потому и становятся популярными фреймворки, содержащие массу шаблонных решений.
Что такое Django и зачем он нужен
Один из популярных фреймворков – Django. Это свободный проект, позволяющий разрабатывать ПО с возможностью полной изоляции отдельных модулей. Фактически веб-ресурсы собираются из двух и более блоков, которые редактируются независимо друг от друга. В этом фреймворке используется принцип разработки, нацеленный на уменьшение дублирования данных (DRY).
Платформа Django подходит в следующих случаях:
- Планируется пользоваться только свободным ПО.
- Требуется быстро разработать сайт, внести изменения в готовый проект.
- Хочется сохранить совместимость с другими разработками.
Применение популярного фреймворка позволяет свободно менять исполнителя. У Django есть весьма развитое сообщество разработчиков – в нем легко найти нужную документацию или помощника в доработке готовых модулей или создании новых. Единственное ограничение платформы заключается в необходимости уместить все обрабатываемые данные в единой базе.
Если приложение становится «массивным», то приходится разбивать его на микросервисы, которые обрабатываются отдельно. Такой подход позволяет применять различные сценарии для каждого из независимых модулей. Но рассчитывать только Django не стоит, его возможностей хватит только на реализацию некоторых функций.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Как установить Django на сервер
Сайт, разработанный с включением модулей фреймворка Django, будет работать только при наличии установленной платформы (на хостинге). Есть несколько вариантов ее инсталляции – автоматически (у хостинг-провайдера Timeweb фреймворк можно найти в разделе «Каталог CMS», вкладка «Прочее») или вручную. Второй способ предполагает предварительную установку виртуального окружения virtualenv.
Это инструмент для создания изолированных сред, где запускаются обособленные проекты Python. Такое решение избавляет от проблемы зависимостей и совместимости разных версий приложения между собой. Подробнее о функционале virtualenv лучше почитать в официальных документах, а сейчас речь идет лишь об инсталляции программного обеспечения.
Последовательность действий:
Скачать актуальный релиз и распаковать его в корневой каталог:
wget https://files.pythonhosted.org/packages/53/c0/c7819f0bb2cf83e1b4b0d96c901b85191f598a7b534d297c2ef6dc80e2d3/virtualenv-16.6.0.tar.gz tar xvfz virtualenv-16.6.0.tar.gz
Создать виртуальное окружение с использованием нужной версии Python:
# Если требуется Python3: python3 virtualenv-16. (.*)$ /index.wsgi/$1 [QSA,PT,L]
По тому же пути разместить файл index.wsgi (он также создается с нуля). Его содержимое для версии Django выше 1.7:
import os import sys sys.path.append('ПУТЬ_ДО_ПРОЕКТА') sys.path.append('ПУТЬ_ДО_ПАКЕТОВ_PYTHON') os.environ['DJANGO_SETTINGS_MODULE'] = 'имя_проекта.settings' import django django.setup() from django.core.handlers import wsgi application = wsgi.WSGIHandler()
Значение «путь до проекта» – это полный путь до каталога с установленной платформой Django, «путь до пакетов Python» – путь до каталога, куда было установлено виртуальное окружение virtualenv. «Имя проекта» – свободное название по решению администратора. Теперь на очереди создание файла settings.py. Он располагается по пути:
~/имя_сайта/public_html/имя_проекта/имя_проекта/settings.py
В нем нужно найти строку:
ALLOWED_HOSTS = []
И указать в ней название сайта:
ALLOWED_HOSTS = ['ДОМЕН']
Или сразу нескольких сайтов:
ALLOWED_HOSTS = ['ДОМЕН1','ДОМЕН2','ДОМЕН3']
Отладка этого файла поможет убедиться в отсутствии ошибок. Она инициируется внесением в него строки DEBUG = True. Проверить подключение проще всего вводом в адресную строку браузера названия сайта (домена). Если все установилось корректно, пользователь увидит приветственную страницу Django.
Система готова к эксплуатации (развертыванию сайтов). Перед началом программирования стоит уточнить версию Python, которая используется на хостинге, командой python3 – version. Это снизит риски сбоев из-за несовместимости приложения с интерпретатором.
В остальном вопросов обычно не возникает или они решаются путем обращения в техническую поддержку провайдера.
Установка фреймворка Django — Хостинг Hostland
Справочная информация >> Инструкции по аккаунту >> Установка Django
Django — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования Model-View-Controller. Один из основных принципов фреймворка — DRY (Don’t Repeat Yourself). В данной статье мы расскажем, как с лёгкостью установить данный фреймворк у нас на хостинге.
Алгоритм по установке Django
У нас на серверах установлен Python 3.6 или 3.9. В зависимости от версии Python имеются ограничения по работе некоторых версий Django: на Python 3.6 нет возможности поставить последнюю версию Django. Если вам нужна именно последняя версия, обратитесь в техническую поддержку
Шаг 1Определяем доступную версию python. Для этого выведем установленную версию:
/opt/python3/bin/python3 -V python3 -V
В зависимости от установленной версии, будут различаться пути и действия по установке, поэтому в зависимости от версии следуйте инструкции под установленную версию.
Версия
Python 3.6:
Python 3.6 поддерживает только более старую версию Django — 3. 2.15. Если вам требуется более свежая версия Django, обратитесь в техническую поддержку.
Вначале создаем виртуальное окружение и прописываем его автоматическую активацию (виртуальное окружение лучше создавать в корне аккаунта, так как при необходимости его можно использовать в нескольких проектах):
cd ~ virtualenv --python=/opt/python3/bin/python3 virtualenv
Добавим его автоматическую активацию при входе на ssh:
echo "source ~/virtualenv/bin/activate" >> ~/.bash_profile
Шаг 2Активируем ранеее установленное окружение:
source virtualenv/bin/activate
Устанавливаем pip, mysqlclient и django последней доступной версии (можно использовать более старую, но более новая работать не будет).
pip3 install --user --upgrade pip pip3 install --user --upgrade mysqlclient pip3 install --user --upgrade django==3.2.15
Шаг 3Далее следует создание проекта, его лучше создавать в директории домена, на уровне директорий htdocs и logs:
cd ~/hostXXXXXXX. hostland.pro django-admin startproject newdjangoproject
hostXXXXXXXX
— номер Вашего аккаунта.В файле newdjangoproject/newdjangoproject/settings.py нужно изменить несколько моментов:
— В строчке ALLOWED_HOSTS прописать Ваш домен, примерно в таком виде:
ALLOWED_HOSTS = ['.домен.ru']
— Если используется вышеуказанная структура директорий, то нужно будет указать STATIC_ROOT с полным путем, где будет генерироваться статика. По-умолчанию этой строки нет, и следует её указать ближе к концу в таком виде:
STATIC_ROOT = "/home/hostXXXXXXX/hostXXXXXXX.hostland.pro/htdocs/www/static"
— Тип базы данных надо изменить с sqlite на Mysql (из-за требования очень свежей версии SQLite, его использование будет выдавать ошибку). Для этого, предварительно создав базы данных и пользователя в Панели управления, содержимое блока
"DATABASES ="
приводим к следующему виду:DATABASES = { 'default': { 'ENGINE': 'django. db.backends.mysql', 'NAME': 'hostXXXXXXX_t', 'USER': 'hostXXXXXXX_t', 'PASSWORD': 'ZZZZZZZ', 'OPTIONS': { "init_command": "SET foreign_key_checks = 0;", }, } }
Остается только зайти в директорию проекта и создать структуру данных в Mysql:
cd newdjangoproject ./manage.py migrate
Версия
Python 3.9:
Поддерживает все актуальные версии Django.
Вначале создаем виртуальное окружение и прописываем его автоматическую активацию (виртуальное окружение лучше создавать в корне аккаунта, так как при необходимости его можно использовать в нескольких проектах):
cd ~ virtualenv --python=/usr/bin/python3.9 virtualenv
Добавим его автоматическую активацию при входе на ssh:
echo "source ~/virtualenv/bin/activate" >> ~/.bash_profile
Шаг 2Активируем ранеее установленное окружение:
source virtualenv/bin/activate
Устанавливаем pip, django:
pip3 install --user --upgrade pip pip3 install --user --upgrade django
Шаг 3Далее следует создание проекта, его лучше создавать в директории домена, на уровне директорий htdocs и logs:
cd ~/hostXXXXXXX. hostland.pro django-admin startproject newdjangoproject
hostXXXXXXXX
— номер Вашего аккаунта.В файле newdjangoproject/newdjangoproject/settings.py нужно изменить несколько моментов:
— В строчке ALLOWED_HOSTS прописать Ваш домен, примерно в таком виде:
ALLOWED_HOSTS = ['.домен.ru']
— Если используется вышеуказанная структура директорий, то нужно будет указать STATIC_ROOT с полным путем, где будет генерироваться статика. По-умолчанию этой строки нет, и следует её указать ближе к концу, в таком виде:
STATIC_ROOT = "/home/hostXXXXXXXX/hostXXXXXXXX.hostland.pro/htdocs/www/static"
Шаг 4Переходим в раздел Файловый менеджер и в папке ~/django-test.com/htdocs/www создаём новый файл django. wsgi. Прописываем туда следующие настройки:
import os import sys virtual_env = os.path.expanduser('/home/hostXXXXXXXX/virtualenv/') activate_this = os.path.join(virtual_env,'bin/activate_this.py') #execfile(activate_this, dict(__file__=activate_this)) with open(activate_this) as f: exec(f.read(), {'__file__': activate_this}) sys.path.append('/home/hostXXXXXXX/hostXXXXXXX.hostland.pro/htdocs/www/') sys.path.append('/home/hostXXXXXXX/hostXXXXXXX.hostland.pro/newdjangoproject/') sys.path.append('/home/hostXXXXXXX/hostXXXXXXX.hostland.pro/newdjangoproject/lib/') #print >> sys.stderr, sys.path os.environ['DJANGO_SETTINGS_MODULE'] = 'newdjangoproject.settings' import django.core.handlers.wsgi from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
Шаг 5После сохранения django.wsgi создаём ещё один файл .htaccess в той же директории и прописываем следующие директивы:
AddHandler wsgi-script . (.*)$ /django.wsgi/$1 [QSA,PT,L]
На этом установка завершена. Если всё сделано верно, то при открытии главной страницы сайта, Вы увидите стартовую страницу:
Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».
Как установить и настроить Django на виртуальном хостинге Linux
Как установить и настроить Django на виртуальном хостинге Linux
Django — это платформа на основе Python, которая позволяет быстро и легко создавать мощные веб-сайты. В этой статье показано, как установить и настроить Django в учетной записи общего хостинга Linux, использующей cPanel.
После выполнения следующих процедур у вас будет работающий сайт Django в вашей учетной записи, который:
- Загружает статическую домашнюю страницу для домена.
- Загружает интерфейс администрирования Django.
- Использует базу данных SQLite.
Хотя мы протестировали и запустили эту конфигурацию Django на общих учетных записях хостинга, она не поддерживается. Вы можете использовать эту конфигурацию в качестве отправной точки для своих собственных проектов Django, но A2 Hosting не может помочь вам в устранении неполадок или отладке любых пользовательских конфигураций.
Содержание
- Шаг 1: Создайте приложение Python в cPanel
- Шаг 2. Настройте проект Django
- Дополнительная информация
Шаг 1: Создайте приложение Python в cPanel
Первым шагом является создание приложения Python в cPanel, в котором будет размещаться проект Django. Для этого выполните следующие действия:
- Войдите в cPanel.
Если вы не знаете, как войти в свою учетную запись cPanel, см. эту статью.
- Откройте инструмент приложения Python:
Нажмите СОЗДАТЬ ПРИЛОЖЕНИЕ :
Появится форма заявки:
- В списке Python версии выберите 3. 8.1.
- В текстовом поле Application root введите myapp.
- В списке Application URL выберите домен. Оставьте остальную часть URL-адреса пустой.
Оставьте пустыми текстовые поля Файл запуска приложения и Точка входа приложения.
Если эти текстовые поля пусты, cPanel автоматически создает пассажир_wsgi.py файл запуска и объект приложения по умолчанию для вас.
- В текстовом поле Файл журнала пассажиров можно дополнительно указать файл журнала для приложения.
В правом верхнем углу страницы нажмите СОЗДАТЬ :
cPanel создает приложение и настраивает среду Python.
- Вверху страницы рядом с Войдите в виртуальную среду. Чтобы войти в виртуальную среду, выполните команду , скопируйте команду. Эта информация понадобится вам в следующей процедуре.
Шаг 2. Настройка проекта Django
После создания приложения Python в cPanel вы готовы выполнять следующие задачи в командной строке:
- Установить Django.
- Создайте и настройте проект Django.
- Настройте Passenger для работы с проектом Django.
Для этого выполните следующие действия:
- Войдите в свою учетную запись, используя SSH.
- Активируйте виртуальную среду с помощью команды, записанной на шаге 10 выше. Например:
источник /home/username/virtualenv/myapp/3.8/bin/activate && cd /home/username/myapp
Командная строка теперь начинается с (myapp:3.8) , чтобы указать, что вы работаете в виртуальной среде myapp с Python 3.8. Все следующие команды в этой статье предполагают, что вы работаете в виртуальной среде Python. Если вы выйдете из сеанса SSH (или деактивируете виртуальную среду с помощью деактивировать команду ), убедитесь, что вы повторно активировали виртуальную среду, прежде чем выполнять какие-либо из приведенных ниже шагов.
Чтобы установить Django, введите следующие команды:
cd ~ Пип установить Джанго == 2. 1.8
Чтобы проверить версию установленного Django, введите следующую команду:
django-admin --version
Чтобы создать проект Django, введите следующую команду:
django-admin startproject myapp ~/ мое приложение
Чтобы создать каталоги для статических файлов проекта, введите следующие команды:
mkdir -p ~/myapp/templates/static_pages mkdir ~/myapp/static_files mkdir ~/myapp/static_media
С помощью текстового редактора откройте файл ~/myapp/myapp/settings.py и внесите следующие изменения:
- Найдите строку ALLOWED_HOSTS и измените ее следующим образом. Замените example.com своим доменным именем:
ALLOWED_HOSTS = [' example.com ']
Найдите блок TEMPLATES и измените его следующим образом:
TEMPLATES = [ { 'БЭКЭНД': 'django.template. backends.django.DjangoTemplates', «КАТАЛОГИ»: [os.path.join (BASE_DIR, «шаблоны»)], 'APP_DIRS': правда, 'ОПЦИИ': { 'контекстные_процессоры': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
Найдите строку STATIC_URL и добавьте под ней следующие строки:
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static_files') MEDIA_URL = '/медиа/' MEDIA_ROOT = os.path.join(BASE_DIR, "static_media")
- Найдите строку ALLOWED_HOSTS и измените ее следующим образом. Замените example.com своим доменным именем:
Используйте текстовый редактор, чтобы открыть файл ~/myapp/myapp/urls.py . Удалите весь существующий текст, а затем скопируйте следующий текст в файл:
из django.contrib import admin из пути импорта django. $', TemplateView.as_view(template_name='static_pages/index.html'), name='home'), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Используйте текстовый редактор, чтобы открыть файл ~/myapp/passenger_wsgi.py . Удалите весь существующий текст, а затем скопируйте следующий текст в файл:
import os импорт системы импортировать django.core.handlers.wsgi из django.core.wsgi импортировать get_wsgi_application # Настраиваем пути и переменные окружения sys.path.append(os.getcwd()) os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings' # Установите имя скрипта для исправления PATH_INFO ниже SCRIPT_NAME = os.getcwd() класс PassengerPathInfoFix (объект): """ Устанавливает PATH_INFO из REQUEST_URI, поскольку Passenger его не предоставляет. """ def __init__(я, приложение): self.app = приложение def __call__(я, окружение, start_response): из urllib.parse импортировать без кавычек среда['SCRIPT_NAME'] = SCRIPT_NAME request_uri = без кавычек (среда ['REQUEST_URI']) script_name = unquote(environ. get('SCRIPT_NAME', '')) offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) или 0 environ['PATH_INFO'] = request_uri[смещение:].split('?', 1)[0] вернуть self.app(среда, start_response) # Установить приложение приложение = get_wsgi_application() приложение = PassengerPathInfoFix (приложение)
- С помощью текстового редактора создайте базовый файл index.html в каталоге ~/myapp/templates/static_pages . Файл может быть таким же простым, как текстовый файл с надписью Hello world .
Введите следующую команду:
python ~/myapp/manage.py migrate
Настройте учетную запись суперпользователя:
Введите следующую команду для сбора статических файлов: /myapp/manage.py collectstatic
Если вас спросят, хотите ли вы перезаписать существующие файлы, введите yes и нажмите Enter.
В cPanel перезапустите приложение Python:
- Войдите в cPanel.
Если вы не знаете, как войти в свою учетную запись cPanel, см. эту статью.
- В разделе ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ главного экрана cPanel нажмите Настройка приложения Python .
- В разделе ВЕБ-ПРИЛОЖЕНИЯ найдите приложение myapp и нажмите значок Перезапустить .
- Войдите в cPanel.
Протестируйте сайт Django:
- Используйте браузер, чтобы перейти на http://www.example.com , где example.com представляет ваше доменное имя. Файл index.html должен загрузиться.
- Используйте свой браузер, чтобы перейти к http://www.example.com/admin , где example.com представляет ваше доменное имя. Вы должны увидеть страницу входа в администрацию Django. Для входа используйте созданные ранее учетные данные суперпользователя.
Если веб-сайт не отображается в вашем браузере, попробуйте запустить файл passenger_wsgi.py вручную. Для этого введите следующую команду:
python ~/myapp/passenger_wsgi.py
При запуске этого файла на консоль не должен выводиться текст. Если есть ошибки, проверьте синтаксис в файлах конфигурации.
Дополнительная информация
Теперь, когда у вас есть работающий веб-сайт с поддержкой Django, вы можете начать настоящую работу по разработке собственных приложений. Вам могут помочь следующие ресурсы:
- Чтобы просмотреть официальную документацию по Django, посетите http://docs.djangoproject.com.
- Для получения информации о расширениях Django посетите https://github.com/django-extensions/django-extensions.
- Библиотека south популярна для завершения миграции базы данных. Для получения дополнительной информации о юг , пожалуйста, посетите https://pypi.python.org/pypi/South.
- Библиотека Fabric может помочь упростить развертывание приложений. Для получения дополнительной информации о ткань , пожалуйста, посетите http://docs. fabfile.org.
Получить Django Hosting
Подробности статьи
- Продукт: Хостинг для реселлеров
Общий хостинг - Уровень: Продвинутый
Другие статьи в этой категории
- Основы сценариев Python
- Использование virtualenv и pip
- Активация виртуальной среды Python из файла сценария
- Использование Python для отправки сообщений электронной почты
- Использование более новой версии Python
- Установка и настройка Django на неуправляемых серверах
- Установка и настройка Django на общем хостинге Linux
- Установка и настройка Flask на учетной записи общего хостинга Linux
- Установка FastAPI на неуправляемых серверах
Показать больше
Статьи по теме
- Использование virtualenv и pip
- Установка и настройка Django на неуправляемых серверах
Показать больше
Развивайте свой веб-бизнес
Подпишитесь, чтобы получать еженедельные советы, стратегии и новости, необходимые для развития вашей сети.
бизнес.
Бесплатно. Отписаться в любое время.
Была ли эта статья полезной для вас? Тогда вам понравится наша поддержка. Испытайте преимущества хостинга A2 уже сегодня и получите предварительно защищенный и предварительно оптимизированный веб-сайт. Ознакомьтесь с нашими планами веб-хостинга сегодня.
Хостинг Django, веб-хостинг Django CMS
5 фунтов стерлингов в месяц
Веб-хостинг Django
Огромный объем памяти: 5 ГБ дискового пространства
Пропускная способность хостинга: Пропускная способность 50 ГБ при скорости 100 Мбит/с
Учетные записи хостинга: 5 доменов
Учетные записи электронной почты, базы данных и поддомены: Неограниченно
Установите django CMS на серверы, оптимизированные для django.
Простая в использовании панель управления мирового класса: cPanel
Подходит для < 30 000 посещений в месяц
Интернет-почта
99,9% Гарантия безотказной работы
30 дней Гарантия возврата денег
Мощные и быстрые серверы
Рекомендуется для Обычных пользователей django
Бесплатная услуга миграции данных
Зарегистрируйтесь сейчас. .!
Особенности хостинга CMS django
WebHost.UK.Net является ведущим провайдером веб-хостинга для Linux и Windows в Великобритании, предлагающим специализированный и оптимизированный хостинг django CMS.
CMS django изначально была задумана веб-разработчиками, разочарованными техническими ограничениями и ограничениями безопасности других систем, а ее легкое ядро позволяет легко интегрировать ее с другим программным обеспечением и сразу же приступить к работе.
Мы являемся наиболее предпочтительным хостом django CMS в Великобритании, потому что мы предлагаем ряд функций хостинга django CMS:
Мгновенная настройка учетной записи CMS django
Бесплатная установка CMS django
Отличный учебник по django CMS
Оптимизированные серверы CMS django
Простое обновление учетной записи CMS django
99,9% гарантия безотказной работы
30-дневная гарантия возврата денег
Непрерывная поддержка 24x7x365
Если вы не можете установить django CMS, свяжитесь с нами, и наша служба поддержки будет рада установить ее для вас.