回答
我一般放在settings.py
是这样的:
import socket
try:
HOSTNAME = socket.gethostname()
except:
HOSTNAME = 'localhost'
如果您使用Docker,则您的解决方案不起作用。它将显示容器ID而不是URL。 – 2016-11-18 09:57:42
我的解决方案是在Docker存在之前编写的。抱歉。 – 2016-11-22 08:03:30
正确的解决方案似乎是'request.get_host()' – Dorian 2017-02-14 05:14:23
你试过os.environ.get('HOSTNAME')
?
如果您有一个请求(例如,这是一个视图中),你可以看看request.get_host()
它让你一个完整的LOCNAME(主机和端口),考虑到反向代理标头(如果有的话)。如果您没有请求,则应该在设置中的某处配置主机名。在很多情况下,查看系统主机名可能不明确,虚拟主机是最常见的。
只需添加到@Tobu's answer即可。 如果您有一个请求对象,你想知道的协议(即HTTP/HTTPS),你可以这样做:
if request.is_secure():
protocol = 'https'
else:
protocol = 'http'
因为is_secure()回报True
如果请求被HTTPS建立。
难道你不能只使用[request.scheme](https://docs.djangoproject.com/en/dev/ref/request-response/#django.http .HttpRequest.scheme)? – 2015-07-21 20:28:09
@RyneEverett谢谢。不知道(facepalm)。 – azalea 2015-07-21 20:43:00
- 1. WCF:如何获取主机IP或服务器名称
- 2. linux c - 获取服务器主机名?
- 3. 获取请求服务器的主机名称
- 4. 如何从IP地址获取服务器的机器名称?
- 5. 获取主机服务器名称为iOS
- 6. 如何从服务器获取机器名称SSL证书
- 7. 如何获取我的Web服务器的主机名
- 8. 获取服务器名称
- 9. SAS服务器:如何获取客户端机器的机器名称?
- 10. 使用Nagios获取服务器主机名
- 11. 流星:如何获取主机名,服务器端
- 12. 如何使用固定DNS服务器获取主机名的IP?
- 13. 如何使用getmxrr获取邮件服务器的主机名,ip地址?
- 14. 如何使用PID从服务器层获取进程名称
- 15. 如何识别远程主机的网络服务器名称
- 16. 如何使用cocoa/obj-c从挂载目录获取服务器主机名?
- 17. 根据服务器名称获取服务名称
- 18. 获取应用服务器下的真实(虚拟)主机名
- 19. 如何获取Django中的服务器名称以获得完整的url?
- 20. 在虚拟主机使用目录服务器名称
- 21. 获取服务器名称的ContextLoaderListener
- 22. 如何在主机名上运行django服务器?
- 23. 主机名-f主机名:名称或服务未知
- 24. 如何使用CMake或CTest获取主机名称
- 25. 如何获取安装服务人员的主机名?
- 26. 如何在PHP中获取服务器中本地机器的名称?
- 27. 如何使用PHP获取计算机名称,计算机的本地IP和计算机的服务器IP
- 28. 获取打印服务器上的打印机名称
- 29. 在PHP中获取服务器的主机名或IP地址
- 30. Logstash,获取远程服务器名称
我不敢相信这个过程在Dj中如此复杂。 – zallarak 2014-12-17 01:29:09