如何获取正在运行的服务器URL

Mar*_*ugh 22 django

当我运行服务器时它向我显示一条消息http://127.0.0.1:8000/.我想在代码中获取url.我没有请求对象.

Hed*_*ide 18

request.build_absolute_uri('/')
Run Code Online (Sandbox Code Playgroud)

或者你可以试试

import socket
socket.gethostbyname(socket.gethostname())
Run Code Online (Sandbox Code Playgroud)

  • 它给了我我的机器 IP。不是 127.0.0.1 (2认同)

Rus*_*tem 14

随着Django文档在这里,你可以使用:

domain = request.get_host()
# domain = 'localhost:8000'
Run Code Online (Sandbox Code Playgroud)


Wes*_*ley 5

如果您想确切知道开发服务器启动的 IP 地址,您可以使用sys.argv它。Django 开发服务器在内部使用相同的技巧以相同的参数重新启动开发服务器

启动开发服务器:

manage.py runserver 127.0.0.1:8000
Run Code Online (Sandbox Code Playgroud)

在代码中获取地址:

if settings.DEBUG:
    import sys
    print sys.argv[-1]
Run Code Online (Sandbox Code Playgroud)

这打印 127.0.0.1:8000