Как запустить django файлов в другой среде virtualenv на другом сервере? - PullRequest
0 голосов
/ 06 января 2020

Я в процессе перемещения сайта, созданного в django, на другой сервер. Я упаковал все файлы в zip-пакет, создал новую среду virtualenv на втором сервере и выгрузил в файл. json. У меня уже есть все файлы на конечном сервере, но, к сожалению, я не знаю, что делать дальше.

Как запустить django в новой среде virtualenv? Должен ли я распаковать файлы в папку с новым virtualenv? Если да, нужно ли сначала активировать virtualenv?

Я также добавлю, что миграция происходит из двух разных систем. С windows на Ubuntu.

1 Ответ

3 голосов
/ 06 января 2020
  1. Сохраните ваши пакеты env в файл с помощью команды pip freeze > requirements.txt. После этого на вашем новом сервере создайте virtualenv и установите все пакеты с помощью команды pip install -r requirements.txt.

. Не копируйте ваш virtualenv вручную, пакеты могут работать по-другому в другой системе. и запустите python -m django —version, чтобы убедиться, что Django установлен правильно.

Скопируйте свой репозиторий кода куда угодно.

Затем создайте базу данных (пустую базу данных), если это не SQLite. cd в папку вашего проекта. Запустите python manage.py migrate, чтобы создать таблицы вашей базы данных.

Запустите python manage.py loaddata dbdump.data, чтобы перенести все данные вашей базы данных. dbdump.data - это файл, созданный в старой системе с python manage.py dumpdata. Примечание: если предыдущий проект содержал перенос данных, загрузка данных не удалась, потому что база данных уже будет содержать данные. В этом случае вам необходимо сначала вручную удалить все данные в базе данных, используя raw sql.

Если вы загрузили файлы в предыдущую систему, скопируйте эти файлы в папку MEDIA_ ROOT (создайте ее при необходимости). Проверьте MEDIA_ ROOT в settings.py

Выполнить python manage.py collectstatic

Теперь запустите manage.py runserver и убедитесь, что все работает: curl -v http://127.0.0.1:8000 покажет вам ответ вашего проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...