Windows 通过django WinXP/7使用sqlite3数据库部署应用程序

Windows 通过django WinXP/7使用sqlite3数据库部署应用程序,windows,django,heroku,Windows,Django,Heroku,当前系统:Windows XP/Windows 7(两者都出现问题) 遵循以下部署指南后: 通过使用简单的轮询应用程序进行测试,我成功地将应用程序推送到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 o

当前系统:Windows XP/Windows 7(两者都出现问题)

遵循以下部署指南后:

通过使用简单的轮询应用程序进行测试,我成功地将应用程序推送到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在没有任何错误的情况下部署应用程序。 我已经使用了与此问题相关的以下潜在解决方案:


任何帮助都将不胜感激!如果需要其他信息,请告诉我。

Heroku不支持sqlite,因为它只提供。

我在设置文件中遇到了相同的错误。通过查看Heroku日志,发现我的settings.py文件由于各种原因失败。一旦我解决了这些问题,Django就不再抱怨缺少数据库设置

导致这个问题的原因之一是我使用的猴子补丁。此修补程序位于我的设置文件的末尾

# 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)

此修补程序显然要求此时已正确指定数据库。由于Heroku在设置文件的末尾追加了配置(即,在monkey补丁之后),我必须手动将它们的配置插入我的monkey补丁之上。

不,但您可以将设置保留在sqlite3上,Heroku将自动添加postgres配置,这就是为什么上面的错误让人困惑的原因……一个更好的问题是:为什么要尝试使用sqlite进行部署?这对开发有好处,但如果您希望在任何给定时间有超过1-2个用户浏览您的站点,则需要转到一个大男孩数据库。