- 论坛徽章:
- 0
|
在学习django连oracle的例子时遇到个问题,
在settings.py中是这么配的:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'system',
'PASSWORD': 'sys',
'HOST': '127.0.0.1',
'PORT': '1521',
}
}
测试没问题,可以正常插入、修改、查询操作。
但是我用命令”python manage.py runserver 8000”启动http服务时报这个错:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "D:\Python27\lib\site-packages\django-1.11-py2.7.egg\django\core\manageme
nt\__init__.py", line 363, in execute_from_command_line
utility.execute()
。。。。。。。。。。。。。。。。。。。。。。。。
File "D:\Python27\lib\subprocess.py", line 672, in __init__
errread, errwrite)
File "D:\Python27\lib\subprocess.py", line 882, in _execute_child
startupinfo)
TypeError: environment can only contain strings
如果我把settings.py中的DATABASES 注释起来,是可以成功启动http服务的,然后再修改settings.py把DATABASE的注释取消,数据库连接参数能被成功识别:
Performing system checks...
System check identified no issues (0 silenced).
April 29, 2017 - 23:11:07
Django version 1.11, using settings 'helloworld.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
并且通过网页可以正常执行oracle数据库的操作。
求教大神这是怎么回事?
概括一下问题是这样:settings.py配置oracle连接后,http服务启动失败,不配置oracle连接,http服务启动正常,然后不停http服务,再配置oracle连接参数,也是一切正常的。
|
|