Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Python Django Basics What a View! Running the Server

Logesh Jayaraman
Logesh Jayaraman
445 Points

Run server

(a) what is the difference of providing manage.py runserver vs manage.py runserver 0.0.0.0:8000? (b) Can i change the port? (c) Usually if we look at .net web application usually we host it in iis server or iis express to run the web app. But in django when we use the runserver we are able to access the webpage? (d) How does it works in backend what is the server used? (e) What is the architecture behind it? (f) Do the comments generated during the server are saved some where as log files? (g) How does the prod deployment works?

5 Answers

Chris Freeman
MOD
Chris Freeman
Treehouse Moderator 67,995 Points

(a) what is the difference of providing manage.py runserver vs manage.py runserver 0.0.0.0:8000?

manage.py runserver will default to using the IP Address 127.0.0.1 and port address 8000. A different port number or a different IP address and port number can be specified in the form ipaddr:port. For more help on runserver type: python manage.py runserver --help or see Django docs

(b) Can i change the port?

Yes, the port can be specified on the command line: python manage.py runserver 8080

(c) Usually if we look at .net web application usually we host it in iis server or iis express to run the web app. But in django when we use the runserver we are able to access the webpage?

The runserver command launches a lightweight non-production server for debug use. The runserver and the base http server code can be found in the GitHub Django repo

(d) How does it works in backend what is the server used?

The server is a lightweight python-based server provided with Django.

(e) What is the architecture behind it?

The Django basehttp server is based on the Python library module wsgiref simple_server which is based on the Python library HTTP module server

(f) Do the comments generated during the server are saved some where as log files?

The server output is directed to STDERR and STDOUT on the console running the server.

(g) How does the prod deployment works?

Runserver is not used for production. Instead a combination of Nginx or Apache Webserver and uWSGI or gunicorn Webserver Gateway Interface are used to handle web requests and feed them to the Django wsgi.py application interface which runs the project application.

Logesh Jayaraman
Logesh Jayaraman
445 Points

thanks for the clarification chris.

Do we need modify any code or settings for prod migration?

Chris Freeman
Chris Freeman
Treehouse Moderator 67,995 Points

Usually a project will have a different settings.py file for development vs production. The database settings, value of DEBUG, other secret key values will likely be different. There is no one solution for deploying a Django site to production. Places to learn are:

Logesh Jayaraman
Logesh Jayaraman
445 Points

Thanks for your response chris. How does django works behind the scene. What i am trying to understand is how the memory is allocated to run the process or also about the synchronous, Threading details .

Chris Freeman
Chris Freeman
Treehouse Moderator 67,995 Points

That's digging into the core of Django and is beyond this forum. I suggest posting on the Django IRC channel for more information: irc://irc.freenode.net/django

Logesh Jayaraman
Logesh Jayaraman
445 Points

Thanks Chris for all your responses. Is it possible to consume API through web services using djnago

Chris Freeman
Chris Freeman
Treehouse Moderator 67,995 Points

Django can be set up as an API.

Logesh Jayaraman
Logesh Jayaraman
445 Points

Also what are the different types of views?