python - 如何在另一台服务器上的另一个 virtualenv 环境中运行 django 文件?
问题描述
我正在将在 django 中创建的站点移动到另一台服务器。我已将所有文件打包到一个 zip 包中,在第二台服务器上创建了一个新的 virtualenv 环境,并将日期转储到一个 .json 文件中。我已经拥有目标服务器上的所有文件,但不幸的是我不知道下一步该做什么。
如何在新的 virtualenv 环境中运行 django?我应该使用新的 virtualenv 将文件提取到文件夹中吗?如果是这样,我必须先激活 virtualenv 吗?
我还要补充一点,迁移是从两个不同的系统进行的。从 ubuntu 上的窗口。
解决方案
- 使用命令将您的 env 包保存到文件中
pip freeze > requirements.txt
。然后在您的新服务器上创建 virtualenv 并使用 command 安装所有软件包pip install -r requirements.txt
。
不要手动复制你的 virtualenv,包在另一个系统上的工作方式可能不同。
激活您的 virtualenv 并运行python -m django —version
以检查 Django 是否安装正确。
将您的代码存储库复制到您喜欢的任何位置。
如果不是 SQLite,则创建您的数据库(空数据库)。
cd
进入您的项目文件夹。运行python manage.py migrate
以创建数据库的表。运行
python manage.py loaddata dbdump.data
以迁移数据库的所有数据。dbdump.data 是在旧系统上创建的文件,带有python manage.py dumpdata
. 注意:如果之前的项目包含数据迁移,loaddata 将失败,因为 db 已经包含数据。在这种情况下,您需要先使用原始 sql 手动删除数据库中的所有数据。如果您在以前的系统上上传了文件,请将这些文件复制到 MEDIA_ROOT 文件夹(如有必要,请创建它)。检查 settings.py 中的 MEDIA_ROOT
跑
python manage.py collectstatic
现在运行manage.py runserver
并检查一切是否正常:curl -v http://127.0.0.1:8000
将显示您的项目的响应。
推荐阅读
- c# - 使用异步/等待的彗星式 API 消耗
- java - 在 Java JSch Shell 中获得两次 shell 提示
- python - ExponentialDecay 位于具有嵌入权重的不同图中
- scala - Scala Map 上是否明确定义了 take 函数?
- spring - 过滤器(在 Spring Boot Web 应用程序中)能否根据所有定义的 RequestMapping 验证请求 URL?
- javascript - HTML文件中的Javascript不会输出变量
- r - 我无法在 R 中拼接降价,接收和错误;我该如何解决这个问题?更新:
- ruby-on-rails - ActiveAdmin 按嵌套关联排序
- c# - 记忆游戏 - 如何匹配不同的图像?
- bash - crontab 看不到 shell 命令的 $1 参数