Django tutorial customize admin template

django, python

Solution

First thing I would try is deleting your *.pyc files they often contain stale information which sometimes can cause issues likes this.

If that isn't the case I would then double check your `PROJECT_PATH` which I believe is the issue here.

`dirname` gets you the containing directory. so if that line is in the settings.py it will return `/path/to/inner/mysite` the one inside the main mysite and since there is not `templates` directory in your inner `mysite` it wont work.

what you need to do is this.

PROJECT_PATH = os.path.realpath(os.path.dirname(os.path.dirname(__file__))) 

Which will return you the outer `mysite` path when combined with templates it will return you the correct path.

Everything should then work.

Problem

I'm working through the official Django tutorial. At the end of part two they have you customize the admin template just a bit (changing some heading text). I think I've done everything right, but apparently I haven't because the admin site looks exactly the same after running syncdb and restarting the server. My project directory (excluding the virtualenv part) looks like this: ``` mysite ├── manage.py ├── mysite │   ├── __init__.py │   ├── __init__.pyc │   ├── settings.py │   ├── settings.pyc │   ├── urls.py │   ├── urls.pyc │   ├── wsgi.py │   └── wsgi.pyc ├── polls │   ├── admin.py │   ├── admin.pyc │   ├── __init__.py │   ├── __init__.pyc │   ├── models.py │   ├── models.pyc │   ├── tests.py │   └── views.py └── templates └── admin └── base_site.html ``` In settings.py I have these lines added to make the project use the template in templates/admin: ``` import os PROJECT_PATH = os.path.realpath(os.path.dirname(__file__)) ``` later: ``` TEMPLATE_DIRS = (os.path.join(PROJECT_PATH, 'templates'),) ``` I've tried several combinations of slashes and variations on assigning the value to `PROJECT_PATH` and `TEMPLATE_DIRS`, but haven't gotten anything to work. Each time I verified that it was actually making a filepath string (with a simple print statement). To try to see what was going on I edited the original Django base_site.html it its admin folder and that changed my site, so it's obviously still using that. I've read several SO posts, and I don't really know what to do anymore. Oh, and if it's relevant: Python 2.7.3 and Django 1.4.3

Original source