This is old, but hopefully this will help someone.
The most up-to-date and effortless way to run Django development under Emacs is by using Django-Emacs mode.
It can be found here.
https://github.com/fgallina/python-django.el
It looks something like this:

When you have this mode installed, you get a menu entry titled "Django" in your emacs. As you can see on the screenshot above, you have all the commands you can imagine in the menu or as keyboard shortcuts. The Django Shell is there, alongside all the other things.
It is a really cool mode.
P.S. I am not a developer nor an interested party when it comes to this mode. I am a happy user.
Edit:
It appears that the format for .dir-local.el file has changed slightly. I am currently using Emacs 25.2.2 and the following format works for this task
((python-mode . ((python-shell-interpreter . "/home/user/miniconda3/envs/xxx-web/bin/python")
(python-shell-interpreter-args . "/var/www/sites/xxx-web/xxx/manage.py shell")
(python-shell-prompt-regexp . "In \\[[0-9]+\\]: ")
(python-shell-prompt-output-regexp . "Out\\[[0-9]+\\]: ")
(python-shell-completion-setup-code . "from IPython.core.completerlib import module_completion")
(python-shell-completion-string-code . "';'.join(module_completion('''%s'''))\n")
(python-shell-completion-string-code . "';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
(python-shell-virtualenv-root . "/home/user/miniconda3/envs/xxx-web"))))