Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disallowed Host at Django

Tags:

python

django

I'm just starting out with Django for the first time. So I create a django project and run the command

python3  manage.py  runserver  0.0.0.0:8000

Instead of getting the expected django homepage, I get the following error message,

DisallowedHost at /
Invalid HTTP_HOST header: '0.0.0.0:8000'. You may need to add '0.0.0.0' to ALLOWED_HOSTS.
Request Method: GET
Request URL:    http://0.0.0.0:8000/
Django Version: 1.10.5
Exception Type: DisallowedHost
Exception Value:    
Invalid HTTP_HOST header: '0.0.0.0:8000'. You may need to add '0.0.0.0' to ALLOWED_HOSTS.
Exception Location: /usr/local/lib/python3.5/site-packages/django/http/request.py in get_host, line 113
Python Executable:  /usr/local/opt/python3/bin/python3.5
Python Version: 3.5.2

I haven't yet scratched the surface of django, so would appreciate some help as to how to fix this?

like image 471
Stacker Avatar asked Jan 20 '17 02:01

Stacker


4 Answers

literally as the error suggested! go ahead and add the line

0.0.0.0 to the ALLOWED_HOSTS in your settings.py

The error info is quite explicit. It should solve the problem right away.

like image 67
Bobby Avatar answered Nov 07 '22 18:11

Bobby


I too had problems with this and it is not easy for a beginner to fix. Here below is the sequence required:

First find your settings.py file, which is located:

projectName/projectName/settings.py

You can also find it using: find -name "settings.py" - likely you will have only one!

Once you have found this, you need to open it in a text editor and change the line

ALLOWED_HOSTS =[ ] to ALLOWED_HOSTS =['your.host.ip.address'] - include the ' ' and the [ ] then save. You will have to re-start the server to get this to work eg:

   python manage.py runserver your.host.ip.address:8000

If you get a syntax error, make sure you have something that looks like:

ALLOWED_HOSTS =['192.168.1.200'] or whatever your ip address is.

like image 7
Robert Seddon-Smith Avatar answered Nov 07 '22 19:11

Robert Seddon-Smith


1- run

ifconfig check you ip address, and you should add the ip to this lone: ALLOWED_HOSTS =['you IP address goes here']

2- run:

python manage.py your-ip:8000

3- go to your browser and check you ip:8000

enter image description here

enter image description here

like image 1
Jose Antonio Avatar answered Nov 07 '22 19:11

Jose Antonio


Just close the postman and try request in new tab. This worked for me.

like image 1
bannedFromAskingQuestions Avatar answered Nov 07 '22 18:11

bannedFromAskingQuestions