Reputation: 8029
I am running my django project in localhost and it works fine.. For test purpose I want to run my localhost from another computer connected in the same network.
I have done python manage.py runserver 'my ip address'
That works fine too.. Is there any way that I can access my localhost from another computer connected to another network?
Like I am connected to A network and running my localhost and my friend is connected to B network. Suppose he wants to access my localhost and see my project running then is it possible to access localhost of a computer from another computer connected to another project?
Upvotes: 6
Views: 9846
Reputation: 422
If you're working DEBUG=True
mod in your Django project, you shouldn't need anything other than that (I assume you are not using port 80, it requires root access).
You must use 0.0.0.0
as host IP, it is a simple solution. And the command is:
python manage.py runserver 0.0.0.0:8000
. That's it.
Upvotes: 0
Reputation: 173
Run server with local host or your system IP like one of the below
python manage.py runserver 192.168.6.7:8000
python manage.py runserver 0.0.0.0:8000
python manage.py runserver 127.0.0.1:8000
add hosts in settings.py to access from other system in network.
ALLOWED_HOSTS = ['127.0.0.1', 'localhost','192.168.6.7']
Upvotes: 2
Reputation: 10305
You can. Just run the django runserver in
python manage.py runserver 0.0.0.0:8000
Now you can access your app using youripaddress:8000
From Django ...
Note that the default IP address, 127.0.0.1, is not accessible from other machines on your network. To make your development server viewable to other machines on the network, use its own IP address (e.g. 192.168.2.1) or 0.0.0.0 or :: (with IPv6 enabled).
You can provide an IPv6 address surrounded by brackets (e.g. [200a::1]:8000). This will automatically enable IPv6 support.
Updated:
In order to match the answer to Title of the question. You need configure your router to forward port 80 to yourapp address
Upvotes: 11