我已经开始关注这个问题2天并且无法摆脱它...我有一个基于类的视图,我需要使用完整的主机名(跳过原因,请相信我),我的代码工作正常,直到我部署到位于ELB后面的EC2实例。
到目前为止尝试了几种没有成功的方法,这就是我尝试过的方法:
get_context_data
context['host_name'] = self.request.get_host()
作为django docs say,如果在多个代理后面并且建议为其实现中间件,则会失败
中间件,完全按照django docs中的说明启用该类,在本地工作正常但在AWS上没有任何反应
使用套接字,因此在get_context_data
做类似的事情:
import socket
context['host_name'] = socket.gethostname()
即使在localhost上也会失败,检索操作系统设置的机器名称
我的最后一个资源是在我的设置中硬编码,它会起作用,但我不是它的忠实粉丝。还有其他聪明的想法吗?