2012-04-12 17 views

cevap

16
request.build_absolute_uri('/') 

veya tam olarak geliştirme sunucusu ile başlatılır IP adresini bilmek istiyorsanız, bunun için sys.argv kullanabilirsiniz

import socket 
socket.gethostbyname(socket.gethostname()) 
+0

bana makine IP'mi veriyor. 127.0.0.1 –

2

deneyebilirsiniz. kodunda

manage.py runserver 127.0.0.1:8000 

alın adresi:

if settings.DEBUG: 
    import sys 
    print sys.argv[-1] 

Bu 127.0.0.1:8000

yazdırır Django geliştirme sunucusu

Başlat geliştirme sunucusu aynı argümanlarla geliştirme sunucusunu yeniden başlatmak için dahili olarak aynı numarayı kullanır

+0

hoş biri, bu mümkün olacağını düşündüm, yeniden başlatma komutunu bulamadık :-) –

+0

Otomatik yükleme mekanizması django.utils.autoreload içinde. Restart_with_reloader yönteminde argümanlarını 'sys.argv''den alır. – Wesley

8

Django docs here ile, aşağıdakileri kullanabilirsiniz:

domain = request.get_host() 
# domain = 'localhost:8000' 
0
import socket 
host = socket.gethostname() 
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() 
İlgili konular