How do I set up Jupyter/IPython Notebook for Django?

  1. Install django-extensions from https://github.com/django-extensions/django-extensions/blob/master/docs/index.rst

     pip install django-extensions
    
  2. Change your settings file to include ‘django-extensions’

     INSTALLED_APPS += ['django_extensions']
    
  3. Run your Django server like this:

    python manage.py shell_plus --notebook
    
  4. alter to suit, and run this in your first cell

    import os, sys
    PWD = os.getenv('PWD')
    os.chdir(PWD)
    sys.path.insert(0, os.getenv('PWD'))
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "local_settings.py")
    import django
    django.setup()
    
  5. Now you should be able to import your django models etc. eg:

    from app.models import Foobar
    Foobar.objects.all()
    

Leave a Comment