Django 德扬戈。如何获取数据库的主机名

Django 德扬戈。如何获取数据库的主机名,django,django-views,host,Django,Django Views,Host,我正在尝试连接到数据库: 在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。或者

我正在尝试连接到数据库: 在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
。或者你可以提出更好的建议

谢谢

[request.get_host()][1]
为您提供请求的服务器信息,而不是数据库服务器信息

要获取数据库信息(假设只有一个名为default的数据库),可以执行以下操作:

>>> from django.conf import settings
>>> settings.DATABASES['default']['HOST']
>>> 'MyDBServer'
>>> settings.DATABASES['default']['PORT']    
>>> '9999'
[request.get_host()][1]
为您提供请求的服务器信息,而不是数据库服务器信息

要获取数据库信息(假设只有一个名为default的数据库),可以执行以下操作:

>>> from django.conf import settings
>>> settings.DATABASES['default']['HOST']
>>> 'MyDBServer'
>>> settings.DATABASES['default']['PORT']    
>>> '9999'

您想为本地和服务器使用不同的环境吗

如果是,并且您正在使用django,我认为最简单的方法是使用系统并在那里设置数据库主机名

在服务器上,您可以使用其他具有不同设置的文件,并使用该模块启动服务器。例如,使用带有--settings标志的manage.py工具

./manage.py runserver --settings=project.settings_production
编辑:请记住,development server不用于生产环境


顺便问一下,
request.get\u host()

您想为本地和服务器使用不同的环境吗

如果是,并且您正在使用django,我认为最简单的方法是使用系统并在那里设置数据库主机名

在服务器上,您可以使用其他具有不同设置的文件,并使用该模块启动服务器。例如,使用带有--settings标志的manage.py工具

./manage.py runserver --settings=project.settings_production
编辑:请记住,development server不用于生产环境

顺便说一下,
request.get\u host()