如何使用Django获取主机服务器名称?
如何使用Django获取主机服务器的名称?
我需要的是托管服务器的名称,而不是客户端的名称。
9 个回答
11
86
如果你有一个请求(比如说,这个请求是在一个视图里面),你可以使用 request.get_host()
这个方法,它可以帮你获取完整的地址(包括主机名和端口),而且如果有反向代理的头信息,它也会考虑进去。如果你没有请求的话,你需要在设置里配置一下主机名。单单查看系统的主机名在很多情况下可能会让人困惑,尤其是虚拟主机的情况最为常见。
111
我通常会在 settings.py
文件里放一些像这样的内容:
import socket
try:
HOSTNAME = socket.gethostname()
except:
HOSTNAME = 'localhost'