Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django Template does not exist error, although it shows 'file exists'

I am not able to render any html pages in Django 1.7. My 'index.html' is in 'project/seatalloc/templates/index.html' and my view.py in project/seatalloc/views.py looks like:

 def index(request):
       return render(request, 'index.html', dirs=('templates',)) 

project/project/settings.py has templates dirs set:

TEMPLATE_DIRS = (
    '/Users/Palak/Desktop/academics/sem3/cs251/lab11/project/seatalloc/templates',

)

urls.py:

urlpatterns = patterns('',
    url(r'^seatalloc/', include('seatalloc.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

Template loader

I have tried to follow the documentation strictly, yet can't figure out if Django detects the file, why am I getting TemplateDoesNotExist at /seatalloc/ error. I am new to Django, could someone please help.

like image 621
Palak Jain Avatar asked Oct 28 '14 09:10

Palak Jain


Video Answer


1 Answers

If - as in your case - you get a TemplateDoesNotExist error and the debug page states "File exists" next to the template in question this usually (always?) means this template refers to another template that can't be found.

In your case, index.html contains a statement ({% extends %}, {% include %}, ... ) referring to another template Django cannot find. Unfortunately, as of Django 1.8.3, the debug page always names the base template, not the one Django can't find.

like image 162
Markus Avatar answered Sep 21 '22 23:09

Markus