Как я могу получить URL запущенного сервера

Когда я запускаю сервер, он показывает мне сообщениеhttp://127.0.0.1:8000/, Я хочу получить URL в коде. У меня нет объекта запроса там.

 okm12 апр. 2012 г., 10:11
В каком коде вы хотите получить URL?
 Gocht18 авг. 2015 г., 21:54
Давным-давно, но вы нашли ответ?
 Tomasz Wysocki13 апр. 2012 г., 22:40
Зачем тебе это все равно?

Ответы на вопрос(5)

Вот, Ты можешь использовать:

domain = request.get_host()
# domain = 'localhost:8000'
import socket
host = socket.gethostname()
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()
 14 июн. 2018 г., 15:51
не работает на окнах

с которого запускается сервер разработки, вы можете использовать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

 12 апр. 2012 г., 10:02
хороший, я думал, что это возможно, не могу найти команду перезапуска :-)
 12 апр. 2012 г., 10:53
Механизм автозагрузки находится в django.utils.autoreload. В методе restart_with_reloader он принимает аргументы отsys.argv
request.build_absolute_uri('/')

import socket
socket.gethostbyname(socket.gethostname())
 Mark Waugh12 апр. 2012 г., 09:33
это дает мне мою машину IP. не 127.0.0.1
 06 дек. 2018 г., 23:07
ломает сервер на django 2.1.4

Ваш ответ на вопрос