Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django runserver from Python script

The normal way to start the Django server is to run the following command from a terminal or a bash script:

python manage.py runserver [Ip.addr]:[port] 

e.g.

python manage.py runserver 0.0.0.0:8000

How can I start a Django server from a Python script?

One option is the following

import os
if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
    from django.core.management import execute_from_command_line
    args = ['name', 'runserver', '0.0.0.0:8000']
    execute_from_command_line(args)

Is there a better way?

like image 353
lafferc Avatar asked Jun 17 '15 13:06

lafferc


People also ask

What is Runserver command in Django?

The runserver command is a built-in subcommand of Django's manage.py file that will start up a development server for this specific Django project.

Why does Python manage py Runserver not work?

The site could be temporarily unavailable or too busy. Try again in a few moments. If you are unable to load any pages, check your computer's network connection. If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.


1 Answers

Python has already builtin HTTP server

python -m SimpleHTTPServer

OR you have an alternative to run the django server

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")

from django.core.management import call_command
from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application()
call_command('runserver',  '127.0.0.1:8000')
like image 156
Amr Abdelaziz Avatar answered Sep 23 '22 07:09

Amr Abdelaziz