サーバーを実行すると、メッセージ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 に答える