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?
Answers:
On Microsft-Windows OS: In the Lib/site-packages folder inside your python installation.
$ python
>>> import django
>>> django.__file__
'/usr/local/lib/python2.7/site-packages/django/__init__.pyc'
in the CLI you can do this:
>>> import django
>>> django
<module 'django' from '/usr/local/lib/python2.6/dist-packages/django/__init__.pyc'>
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…
Worth mentioning that if you are using a virtual env all the packages will be in your project’s root venv folder under “lib” …
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.
Try this on an terminal.
$ python -v
import django # directory /home/user/.virtualenvs/myenv/local/lib/python2.7/site-packages/django
# some other imports.
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'
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
)
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?
On Microsft-Windows OS: In the Lib/site-packages folder inside your python installation.
$ python
>>> import django
>>> django.__file__
'/usr/local/lib/python2.7/site-packages/django/__init__.pyc'
in the CLI you can do this:
>>> import django
>>> django
<module 'django' from '/usr/local/lib/python2.6/dist-packages/django/__init__.pyc'>
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…
Worth mentioning that if you are using a virtual env all the packages will be in your project’s root venv folder under “lib” …
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.
Try this on an terminal.
$ python -v
import django # directory /home/user/.virtualenvs/myenv/local/lib/python2.7/site-packages/django
# some other imports.
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'
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
)