早些时候,我的pyodbc模块有一个problem,它没有在我的Windows机器上运行的apache服务器上运行我的应用程序。我发现使用this hint解决了让django项目在apache上运行的问题。
但现在我面临着一个不同的问题。 django应用程序在apache上运行,但在页面上抛出此错误。
ImproperlyConfigured at /auth/login/
settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
为了清楚起见,这个项目在通过djangos内置服务器部署时运行良好。 这就是我在settings.py中的数据库连接的样子
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'myDbName',
'USER': 'myusername',
'PASSWORD': '',
'HOST': '',
'OPTIONS' : {
'driver': 'SQL Native Client',
'dsn': 'test',
'MARS_Connection': True,
},
},
}
更新:
我根据Django MSSQL Documentation更新了我的代码,遇到了一些问题,并通过更新我的pywin32 让它工作再次这适用于djangos内置服务器而不是APACHE给我同样的错误配置错误
DATABASES = {
'default': {
'NAME': 'myDbName',
'ENGINE': 'sqlserver_ado',
'HOST': 'MYHOST',
'USER': 'myusername',
'PASSWORD': 'mypassword',
'OPTIONS' : {
'provider': 'SQLNCLI11',
'use_mars': False,
},
}
}
我的系统 - Windows 7,Apache 2.2,python 2.7,django 1.4.2,pyodbc-3.0.6.win32-py2.7
对此有任何暗示或提示非常高兴,我一直试图让这个项目启动并运行一段时间。
非常感谢
答案 0 :(得分:1)
如果您使用的是内置后端,则应指定数据库引擎,如下所示:
'ENGINE':'django.db.backends.mysql'
如果您不使用内置后端,则应在mypackage.backends.whatever
设置中指定完全限定的路径(即ENGINE
)。有关在django documentation here中给出的定义数据库后端的信息。
更新:
您可以尝试使用django-mssql将sql-server与django一起使用,并且可以使用明文档here in readthedocs。
答案 1 :(得分:0)
我的问题的答案可能有点诡计嘿嘿,这就是我在机器上工作的方式。
我遇到的主要问题是我的DSN没有与django项目建立联系,我在下面提到的步骤中,它的最后一步是让它完全有效。以前我在创建DSN时选择了“使用集成Windows身份验证”,但令人惊讶的是,当我使用djangos内置服务器运行它时,它工作正常。
我将数据库连接更改回原始代码
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'MaDaMa_App',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'MYHOST',
'OPTIONS' : {
'driver': 'SQL Native Client',
'dsn': 'your_dsn_name',
'MARS_Connection': True,
},
},
}
感谢所有帮助我解决这个问题的人,并希望这对那里的人有所帮助。
干杯