早些时候,我有一个带有pyodbc模块的问题,它没有在apache服务器上运行我的应用程序,而是运行在我的windows机器上。我发现解决了使用这个暗示让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内置服务器部署时运行得很好。是中数据库连接的样子
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'myDbName',
'USER': 'myusername',
'PASSWORD': '',
'HOST': '',
'OPTIONS' : {
'driver': 'SQL Native Client',
'dsn': 'test',
'MARS_Connection': True,
},
},
}更新:
我根据Django MSSQL文档更新了我的代码,遇到了一些问题,并通过更新我的pywin32 使它工作起来。这同样适用于djangos内置的服务器,而不是APACHE给了我相同的ImproperlyConfigured错误。
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
任何提示或提示,这是高度见多识广的,我已经尝试了这个项目启动和运行相当一段时间了。
非常感谢
发布于 2012-12-11 14:44:09
我的问题的答案可能有点模糊,但嘿,这就是我如何在我的机器上工作的东西。
我遇到的主要问题是,我的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,
},
},
}感谢所有帮助我解决这个问题的人,希望这对外面的人有帮助。
干杯
发布于 2012-12-10 09:28:14
如果使用内置后端,则应指定数据库引擎如下所示:
'ENGINE':'django.db.backends.mysql'如果不使用内置后端,则应在mypackage.backends.whatever设置中指定完全限定路径(即ENGINE )。有关在django文档中定义数据库后端的信息。
更新:
您可以尝试使用django-mssql与django一起使用sql-server,并且清晰的文档是可用的在这里的读物。
https://stackoverflow.com/questions/13797969
复制相似问题