Access Django app from other computers
It is should be done with central system or server.
By default manage.py runserver
will not give ip bind permission. So
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).
If you want to check in your local machine then follow
python manage.py runserver 0.0.0.0:8000
Now go to your network computer and access your ip like 192.168.1.24:8000
Updated:
For Django version about 1.10 you should add your host to ALLOWED_HOSTS here
This can be done in just 4 steps:
- Make sure in settings.py: ALLOWED_HOSTS = ['*']
- Run the server using: python manage.py runserver 0.0.0.0:3000
- Go to Windows security -> Firewall & network protection and turn off the windows firewall completely.
Now at this point, your Django API can be accessed within your local network using the URL: http:// Your-LAN-IP-address:3000/
- Now we have to open port 3000. Go to http://192.168.1.1 and login into your router. Now go to Advanced tab -> NAT -> Virtual server and fill the following fields alone:
- WAN port - 3000
- LAN port - 3000
- LAN IP address - check your machine
Now at this point, your Django API can be accessed from anywhere using the URL:http:// Your-Public-IP-address:3000/