Where is my Django installation?

Question:

I use Django but I need to find the default templates and applications.

I don’t know where it’s installed.

How can I find that?

Asked By: Pierre de LESPINAY

||

Answers:

On Microsft-Windows OS: In the Lib/site-packages folder inside your python installation.

Answered By: Exelian
$ python
>>> import django
>>> django.__file__
'/usr/local/lib/python2.7/site-packages/django/__init__.pyc'
Answered By: Pierre de LESPINAY

in the CLI you can do this:

>>> import django
>>> django
<module 'django' from '/usr/local/lib/python2.6/dist-packages/django/__init__.pyc'>
Answered By: Uku Loskit

This approach I am describing works across operating systems…

You try this on your command line – python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

This gives you the base directory. From there, type /django/ and here you find all the default templates, admin templates, etc.

Hope this helps…

Answered By: Srikar Appalaraju

The current top answer doesn’t work, at least on linux.

From the Django tutorial:

If you have difficulty finding where the Django source files are
located on your system, run the following command:

python -c "
import sys
sys.path = sys.path[1:]
import django
print(django.__path__)"
Answered By: olafure

Worth mentioning that if you are using a virtual env all the packages will be in your project’s root venv folder under “lib” …

Answered By: haki

If you are using virtualenv then it will be:
/home/user/path where you installed django/django_directory/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/contrib/admin/templates/admin/base_site.html
base-site.html is the default template.

Answered By: Sumit Nautiyal

Try this on an terminal.

$ python -v
import django # directory /home/user/.virtualenvs/myenv/local/lib/python2.7/site-packages/django
# some other imports.
Answered By: All Іѕ Vаиітy
import django
django.__file__

output will be given location of the django folder

'C:\Users\saigopi\AppData\Local\Programs\Python\Python36\lib\site-packages\django\__init__.py'
Answered By: saigopi.me

As the comments on @olafure’s answer https://stackoverflow.com/a/12974642/4515198 rightly say, the sys.path assignment is not required.

The following will be enough:

python -c "import django; print(django.__path__)"

Here the -c option is used to tell python that a “program is being passed in as string” (source: command $ python --help on bash)

Answered By: satvik.t
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.