Django项目使用错误(旧)数据库设置

9 投票
2 回答
1636 浏览
提问于 2025-04-17 09:45

最近我开始了一个小的Django项目,最开始是在本地机器上用SQLite3数据库和集成开发服务器开发的。现在我把整个项目复制到了一个运行Debian的服务器上。

只要我继续使用SQLite3数据库,一切都运行得很好。现在我想换成本地的MySQL数据库,所以我修改了项目根目录下的settings.py文件,创建了数据库并添加了一个用户。然后我运行了syncdb,它顺利地创建了所需的表。

现在我想使用这个应用,但总是出现错误,因为Django找不到表——包括一些“标准表”,比如django_sessions,还有我自己创建的表——尽管它们确实存在(我检查过数据库)。

让我觉得奇怪的是,我在看到的DatabaseError页面上有这么一句话:

Exception Location: /usr/local/lib/python2.6/dist-packages/django/db/backends/sqlite3/base.py in execute, line 234

看起来Django还是在使用SQLite3的后端,尽管我已经设置成使用MySQL的后端。

还有一件让我快要崩溃的事情是:我用rm命令删除了应用根目录下的data.sqlite文件。但当我使用我的应用时,这个文件又被重新创建了!

有没有人能告诉我我哪里出错了?

2 个回答

1

如果你在用Apache服务器,每次修改完设置后,都要运行“sudo /etc/init.d/apache2 reload”这个命令来让改动生效。

3

在生产环境中使用mod_wsgi或mod_python时,新的代码不会立即生效,必须重新加载或重启网络服务器。

如果你在用apache和mod_wsgi,可以通过touch一下wsgi.py文件来只重启Python代码。

撰写回答