Django项目使用错误(旧)数据库设置
最近我开始了一个小的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代码。