【发布时间】:2016-01-17 07:12:55
【问题描述】:
我已经在我的 Django 网站的 localhost 副本上工作了一段时间,但最终决定是时候将其上传到 PythonAnywhere。该站点在我的本地主机上运行良好,但是当我为新站点进行初始迁移时出现奇怪的错误。例如,我得到这个:
mysql.connector.errors.DatabaseError: 1264: Out of range value for 第 1 行的“已应用”列
'applied' 不是我模型中的一个字段,所以这个错误必须由 Django 生成供自己使用的表。我刚刚检查了我的本地主机的 MySQL 管理器,并且“应用”字段似乎来自表 django_migrations。
为什么 Django 会错误地设置自己使用的表?我已经多次删除并重新制作数据库,但错误仍然存在。如果有人知道是什么原因造成的,我将非常感谢您的建议。
我的网站前端仍然显示 Hello World 页面,并且管理员链接出现页面不存在错误。在这个阶段,我将假设这与数据库错误有关。
编辑:关于为什么我无法访问网站前端的其他信息:
事实证明,当我将预建站点导入 PythonAnywhere 时,我必须编辑我的 wsgi.py 文件以指向应用程序。现在的问题是我不知道该放什么。当我按照 PythonAnywhere 帮助文件中的标准说明进行操作时,似乎没有任何改变。那里的网站似乎也非常缺乏详细的错误消息来帮助解决它。有没有办法关闭他们的标准 hello world 占位符页面并改为查看服务器错误消息?
【问题讨论】:
-
你用的django是什么版本的?
-
我的本地主机是 1.8,但我只记得我在网站上运行了自动升级到 1.9,所以我将尝试将其回滚到 1.8,看看是否可以解决问题。
-
我刚刚试了一下,它似乎确实解决了数据库问题,但我仍然无法访问我网站的前端。我想我将不得不进一步调查为什么会发生这种情况。
-
您是否也在远程主机上应用了迁移(通过运行
manage.py migrate)? -
是的,谢谢。我发现了一些更多信息,我将在上面的原始问题中添加这些信息。
标签: python django python-3.x django-forms pythonanywhere