ZANIN блог
Контакты
Крути вниз
Фильтр по:
Категории
//Post title

Заметка - как развернуть бэкап сайта на Django с PyCharm

24 Янв 2020Категория : Django

Заметка - как развернуть бэкап сайта на Django с PyCharm

Если вам необходимо сделать какие-то доработки по чужому сайту, написанному на Django, то логичнее развернуть локально у себя бэкап этого сайта. Для работы с Python использую PyCharm, поэтому и заметку напишу для работы с этой IDE.

Дали вам доступы к чужому сайту, заходим в папку в проект и смотрим, есть ли там файл requirements.txt. Если файл есть, то все отлично, скачиваем папку проекта к себе. Если файла нет, то 2 варианта: или там лежит файл Pipfile.lock и там виртуальное окружение pipenv (для него напишу заметку позже), или предыдущий разработчик забыл создать файл зависимостей и надо подключиться к проекту через SSH, активировать виртуальное окружение (команда: name_env\Scripts\activate, где найти виртуальное окружение, если не знаете, то в файле passenger_wsgi.py) и после этого выполнить команду (команда создаст файл со всеми зависимостями к проекту.):

pip freeze > requirements.txt

Если у вас Windows, то я использую для SSH подключения Putty, очень удобно, ну а если у вас Linux, то через терминал там тоже удобно (команда: ssh login@name_host).

Вот скачали вы копию сайта (папка с проектом и копия базы данных), далее создаем папку с любым именем, можно даже как и папка с проектом, в этой папке будет просто вся структура проекта на django вместе со всеми приложениями. Копируем все файлы и папки проекта (котрую мы скопировали с хостинга) в ту, которую мы создали сейчас. Должно получиться, как на скриншоте ниже. То что у меня зачеркнуто красными линиями, этого еще не должно быть, это папки с виртуальным окружением для проекта, они еще не созданы. 

Может быть непонятно, зачем 2 папки с виртуальным окружением. Дело в том, что проект, который я разворачивал - это Django 1.9.3 и база MySQL. На хостинге, с которого я его брал Python 3.4, у себя стоит Python 3.7 и развернуть нормально не получилось, поэтому пришлось создать второе виртуальное окружение под Python 3.5, так как там еще была проблема с работой MySQL, которая выскакивает с Python 3.6 и выше.

Инструкция, как развернуть готовый сайт на Django локально - 1

 

Если все предыдущее получилось, и вы точно уверены, что ваша версия Python подойдет к проекту, то делаем следующее. В терминале PyCharm (как на скриншоте ниже)

 

Инструкция, как развернуть готовый сайт на Django локально - 2

Вводим команду, чтобы создать виртуальное окружение. В виртуальном окружении будут храниться все пакеты Python необходимые для работы проекта, в том числе туда устанавливается Django. Команда:

python -m venv myenv

myenv - это просто название виртуального окружения, вы можете придумать любое имя, просто обычно называют так, что было примерно понятно, что это именно оно, а не что-то другое.

После этого необходимо активировать виртуальное окружение (это очень важно) командой:

myenv\Scripts\activate

Инструкция, как развернуть готовый сайт на Django локально - 3

(тут мне пришлось переделывать скриншоты, поэтому и папка с проектом сменилась)

Когда виртуальное окружение активируется, то вы увидите это

Инструкция, как развернуть готовый сайт на Django локально - 4

Нажимаем комбинацию клавиш: Ctrl+Alt+S и появляется меню настроек. В разделе Project (имя проекта) в пунтке Project Interpreter, нажимаем на значок шестеренки и нажимаем кнопку "Add", появляется такое окно, выбираем созданное виртуальное приложение.

Инструкция, как развернуть готовый сайт на Django локально - 4.1

Тут можно будет увидеть какая версия Python у вас подключена к проекту.

Инструкция, как развернуть готовый сайт на Django локально - 4.2

Далее вводим команду:

pip install -r requirements.txt

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

Нажимаем комбинацию клавиш: Ctrl+Alt+S и появляется меню настроек. В разделе Project (имя проекта) в пунтке Project Interpreter мы видим, что ниодного пакета не установлено и Python.exe никакой версии не подключен к проекту. 

Инструкция, как развернуть готовый сайт на Django локально - 5

Нажимаем на значок шестеренки и нажимаем кнопку "Add".

Инструкция, как развернуть готовый сайт на Django локально - 6

Так как в данном случае мы еще не создавали виртуальное окружение и не активировали его, то выбираем New enviroment, выбираем путь до python.exe нужной версии, и создаем папку (имя виртуального окружения) и нажимаем OK.

Инструкция, как развернуть готовый сайт на Django локально - 7

Инструкция, как развернуть готовый сайт на Django локально - 8

Далее видим, что в виртуальном окружении у нас установлено только 2 пакета. Дальше мы должны произвести установку зависимостей (перед установкой не забываем проверить, активировано ли наше созданое виртуальное окружение)

pip install -r requirements.txt

После того, как прошла установка всех зависимостей, то нажимаем сюда (Edit Configurations)

Инструкция, как развернуть готовый сайт на Django локально - 9

Откроется окно с настройками Django Server, в нем нам необходим пункт Enviroment Variables

Инструкция, как развернуть готовый сайт на Django локально - 10

Туда необходимо вписать следующее

PYTHONUNBUFFERED=1;DJANGO_SETTINGS_MODULE=kronosplast.settings

Также,если Python interpreter не тот, что нужно, тоже выбираем нужный из списка и нажимаем OK.

Инструкция, как развернуть готовый сайт на Django локально - 11

Далее можно запускать проект, если конечно у вас используется база данных SQLite3, если надо подключить MySQL то необходимо установить mysqlclient, но этот пакет вообще не всегда встает, видимо с более старыми версиями он норм работает, а для новых версий выдает ошибку при установке.

pip install mysqlclient

Поэтому можно сделать забавный костыль. Ставим pymysql

pip install pymysql

А потом в папке, где лежит файл settings.py открываем файл __init__.py и вставляем в него следующие строки:

import pymysql

pymysql.install_as_MySQLdb()

  • 687

Готовы заказать проект?

© ZANIN 2019 / All rights reserved.
Контакты
Close