我正在尝试连接数据库: 在localhost中,我可以这样做:
db = MySQLdb.connect(host='127.0.0.1', user="root", passwd="", db="schooldb")
但在服务器中我希望'127.0.0.1'
是变量,
不幸的是
h = request.get_host()
return HttpResponse(h)
给了我127.0.0.1:8000
所以我的问题是如何截断端口并仅留下127.0.0.1
。或者你可以建议更好的东西。
谢谢
答案 0 :(得分:2)
[request.get_host()][1]
为您提供请求的服务器信息,而不是数据库服务器信息。
要获取数据库信息(假设您只有一个名为 default 的数据库),您可以执行以下操作:
>>> from django.conf import settings
>>> settings.DATABASE['default']['HOST']
>>> 'MyDBServer'
>>> settings.DATABASE['default']['PORT']
>>> '9999'
答案 1 :(得分:1)
您是否希望为本地和服务器目的使用不同的环境?
如果是,并且您正在使用django,我认为最简单的方法是在那里使用django settings系统和设置数据库主机名。
在服务器上,您可以使用具有不同设置的其他文件,并使用该模块启动服务器。例如,使用带有--settings标志的manage.py工具。
./manage.py runserver --settings=project.settings_production
编辑:记住开发服务器不适用于生产环境。
顺便说一句,request.get_host()
returns a remote hoste name。