pythonanywhere - 关于Pythonanywhere中的数据库

标签 pythonanywhere

我正在关注 Djangogirls 教程,根据该教程,我在 Django 管理员的博客中添加了新帖子。我使用 Django 模板创建了一个模板来显示此动态数据。我通过在浏览器中打开 127.0.0.1:8000 来检查它,我能够看到数据。然后为了在 Pythonanywhere 上部署这个站点,我使用 git push 将数据从我的本地代表推送到 github,并从 github 对 Pythonanywhere 进行了 git pull。包括 db.sqlite3(数据库)文件在内的所有文件都在 pythonanywhere 中正确更新,但我仍然在 pythonanywhere 上运行我的 webapp 后看不到数据。然后,我手动从 pythonanywhere 中删除了 db.sqlite3 文件,并从我的本地桌面上传了相同的文件,它工作了。为什么这样做?有替代方案吗?

最佳答案

这有点奇怪;如果 SQLite 数据库在 git 存储库中,并且已正确上传,我希望它能正常工作。也许数据库在不同的目录中?在 PythonAnywhere 上,您正在运行的 Web 应用程序的工作目录可能(实际上,很可能)与您的本地计算机不同。如果您使用相对路径(您可能是)指定数据库,那么这可能意味着您在本地创建的数据库与它在 PythonAnywhere 上的位置不同。

顺便说一句,根据我对 Django Girls 教程的内存(几个月前我指导过一次类(class)),您实际上不需要将数据库放入 Git 存储库中。这不是通常管理网站的方式。您通常会在本地有一个数据库,用于测试,您可以在其中放置随机测试数据,然后在您的实时站点上有一个完全不同的数据库,其中包含供公众使用的帖子。

关于pythonanywhere - 关于Pythonanywhere中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34412869/

相关文章:

Pythonanywhere:获取数据库访问白名单的IP地址

javascript - PythonAnywhere 如何处理多个 "web workers"或进程

database - Pythonanywhere 从本地文件加载数据

python - 如何在 pythonanywhere 上安装 GNU MPFR 库

mysql - 通过Python连接到MySQL,我得到了矛盾的结果

PythonAnywhere:django.db.utils.OperationalError:没有这样的表:

PythonAnywhere 试图上传我的网站

PythonAnywhere - 是否允许套接字?

python - 渲染 : No module named app 时出现 ImportError

python - 自动重新加载 PythonAnywhere.com 上托管的 Python-Flask 应用程序