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

后端 未结 3 955
抹茶落季
抹茶落季 2020-12-10 07:26

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 proje

相关标签:
3条回答
  • 2020-12-10 08:04

    First of all don't use static path (fixed path) in template dirs in settings.py, use:

    BASE_DIR = os.path.dirname(os.path.dirname(__file__))
    
    TEMPLATE_DIRS = (
          BASE_DIR +'/Templates',
    
    
      )
    

    And template directory should be in project directory i.e in which manage.py file exists.

    And in view.py use render_to_response instead of just render.

    return  render_to_response("index.html") 
    
    0 讨论(0)
  • 2020-12-10 08:08

    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.

    0 讨论(0)
  • 2020-12-10 08:18

    Try like this,

    import os
    BASE_DIR = os.path.dirname(os.path.dirname(__file__))
    TEMPLATE_DIRS = (
         os.path.join(BASE_DIR, 'templates/'),
    )
    
    0 讨论(0)
提交回复
热议问题