2012-04-27 27 views
0

當前系統:Windows XP/Windows 7的(問題存在的兩種)通過Django的使用sqlite3的數據庫部署應用程序的WinXP/7

從以下以下部署準則後:

https://devcenter.heroku.com/articles/python

,並通過使用一個簡單的調查應用程序的測試,我能成功檢查日誌下面的錯誤後,通過heorku推應用,除了顯示:

2012-04-27T08:14:42+00:00 app[web.1]: django.core.exceptions.ImproperlyConfigure 
d: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No m 
odule named _sqlite3 

嘗試同步數據庫時也會發生這種情況。

這裏是數據庫中的settings.py文件的當前配置:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'database.sqlite', # Or path to database file if using sqlite3. 
     'USER': '', # Not used with sqlite3. 
     'PASSWORD': '', # Not used with sqlite3. 
     'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 
     'PORT': '', # Set to empty string for default. Not used with sqlite3. 
    } 
} 

我知道它是一個sqlite3的數據庫,我已被告知,它仍然應該允許的Heroku部署的應用沒有任何錯誤。 我跟了通過使用與此相關的問題如下可能的解決方案:

No module named _sqlite3 How do I set up SQLite with a Django project? http://groups.google.com/group/django-users/browse_thread/thread/185f981f432346f1

任何幫助將不勝感激!請讓我知道是否需要額外的信息。

+0

一個更好的問題是:爲什麼你要爲你的部署使用sqlite?這對開發很有幫助,但如果您希望在任何特定時間瀏覽您的網站的用戶超過1到2名,則需要轉到大數據庫。 – 2012-04-27 14:56:20

回答

1

Heroku不支持sqlite,因爲它只提供a read-only filesystem

+0

不,它不會,但你可以離開你的設置在sqlite3和Heroku會自動添加postgres配置,這就是爲什麼它是混亂得到上面的錯誤... – 2012-04-27 11:09:36

0

我與設置文件有同樣的錯誤。查看Heroku日誌,結果發現我的settings.py文件出於各種原因失敗。一旦我解決了這些問題,Django就會停止抱怨丟失的數據庫設置。

導致此問題的原因之一是我用於allow sub-selects as tables in QuerySet extra()的猴子補丁。此修補程序位於我的設置文件的末尾。

# Override default behaviour of compiler to quote table names when table name is a sub-query 
from django.db.models.sql.compiler import SQLCompiler 
_quote_name_unless_alias = SQLCompiler.quote_name_unless_alias 
SQLCompiler.quote_name_unless_alias = lambda self,name: name if name.startswith('(') else _quote_name_unless_alias(self,name) 

這個補丁顯然要求DATABASES已經在那個時候正確指定。由於Heroku將magic DATABASES configuration添加到設置文件的末尾(即在猴子補丁之後),我必須手動將他們的配置插入到我的猴子補丁上。

相關問題