当我运行服务器时,它会显示一条消息http://127.0.0.1:8000/。我想在代码中获取 url。我那里没有请求对象。
问问题
20613 次
5 回答
21
request.build_absolute_uri('/')
或者你可以试试
import socket
socket.gethostbyname(socket.gethostname())
于 2012-04-12T07:26:28.363 回答
19
使用此处的Django 文档,您可以使用:
domain = request.get_host()
# domain = 'localhost:8000'
于 2012-04-12T08:00:18.067 回答
5
如果您想确切地知道开发服务器启动的 IP 地址,您可以使用sys.argv
它。Django 开发服务器在内部使用相同的技巧以相同的参数重新启动开发服务器
启动开发服务器:
manage.py runserver 127.0.0.1:8000
在代码中获取地址:
if settings.DEBUG:
import sys
print sys.argv[-1]
这打印127.0.0.1:8000
于 2012-04-12T07:59:06.523 回答
1
import socket
host = socket.gethostname()
于 2012-07-30T07:32:59.103 回答
0
import re
import subprocess
def get_ip_machine():
process = subprocess.Popen(['ifconfig'], stdout=subprocess.PIPE)
ip_regex = re.compile('(((1?[0-9]{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((1?[0-9]{1,2})|(2[0-4]\d)|(25[0-5]))')
return ip_regex.search(process.stdout.read(), re.MULTILINE).group()
于 2014-11-03T13:38:50.190 回答