2012-01-07 32 views
6

最近我開始了一個小型的Django項目,我使用SQLite3數據庫和集成開發服務器在本地機器上開發。我現在將整個項目複製到運行Debian的服務器上。Django項目使用錯誤的(舊)數據庫設置

只要我一直使用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是仍在使用,即使我將其設置爲使用MySQL後端的SQLite3的後端。

另外一件讓我大失所望的事情是:我使用rm刪除了應用根文件夾中的data.sqlite文件。但是當我使用我的應用程序時,文件正在被重新創建!

誰能告訴我我哪裏出錯了嗎?

+1

你有一個settings.pyc文件嗎? – 2012-01-07 19:53:01

+0

是的,我已經刪除了兩次。但是這並沒有改變任何東西。 – user1136324 2012-01-07 20:01:35

+0

你有local_settings.py文件嗎? – 2012-01-07 20:04:22

回答

3

使用mod_wsgi或mod_python在生產環境中運行時,只有在重新加載/重新啓動Web服務器之前,纔會合併新的代碼。

如果您使用的是mod_wsgi的apache,您也可以使用touch的wsgi.py文件重新啓動python代碼。

1

如果在Apache上運行,每次更改時都運行「sudo /etc/init.d/apache2 reload」。