找出 Django 实例正在哪个端口上运行?

发布于 2024-12-20 23:06:48 字数 39 浏览 1 评论 0原文

有什么方法可以从代码中找出 Django 实例正在侦听哪个端口?

Is there any way to find out what port a Django instance is listening on from within the code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

水水月牙 2024-12-27 23:06:48

您可以通过 HttpRequest 获取信息。 此处查看 Django 文档。

这可以通过 META 属性来访问,该属性是一个包含 HTTP 标头信息的字典。

例子:

def someView(request):
    #Try printing to screen
    print request.META['SERVER_PORT']
    ...
    return(response)

You can get the info through the HttpRequest. Checkout the Django Docs here.

This can be accessed through the META attribute which is a dictionary containing the HTTP header info.

Example:

def someView(request):
    #Try printing to screen
    print request.META['SERVER_PORT']
    ...
    return(response)
囍孤女 2024-12-27 23:06:48

也许 request.META['SERVER_PORT']

或者您不在视图中?

maybe request.META['SERVER_PORT']

or are you not in a view?

悲念泪 2024-12-27 23:06:48

我发现如果您需要知道视图之外的端口号或 IP 地址(例如在 models.py 中),这可能会有所帮助。

import sys
import socket
logger.error(socket.gethostbyname(socket.gethostname())+"----"+sys.argv[-1])

这将为您提供如下所示的输出:

192.168.1.222----0.0.0.0:8000

I found this might be helpful if you need to know the port number or IP address out of the view(in models.py for example.)

import sys
import socket
logger.error(socket.gethostbyname(socket.gethostname())+"----"+sys.argv[-1])

This will give you an output like below:

192.168.1.222----0.0.0.0:8000
兰花执着 2024-12-27 23:06:48

请求有一个专门为此构建的方法。

def someView(request):
    print(request.get_port())

Request's have a method build in specifically for this.

def someView(request):
    print(request.get_port())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文