2012-05-18 138 views
0

我試圖使用Django的無盡分頁twitter pagination,但Django拋出和異常,我無法調試它。Django TemplateDoesNotExist異常

創建這些模板之後:

search_results.html:

<h2>Entries:</h2> 
{% include page_template %} 

results.html:

{% for object in objects %} 
    {# your code to show the entry #} 
{% endfor %} 

我將他們添加到我的項目模板目錄。當我去到結果的網址,我得到

def search(request): 
    if 'q' in request.GET: #Need to add input variable to html code 
     q = request.GET['q'] 
     if q: 
      stuff = Stuff.objects.filter(name__icontains=q) 
      template = "search_results.html" 
      page_template = "results.html" 
      if request.is_ajax(): 
       template = page_template 
      return render_to_response(template, locals()) 
    return render_to_response('search_page.html') 

異常類型: TemplateDoesNotExist

異常地點: /Library/Frameworks/Python.framework/Versions/然後我創建這個觀點2.7/lib目錄/ python2.7 /站點包/ Django的/模板/ loader.py在find_template,線138

模板裝載機拋屍

的Django試圖加載這些模板,按以下順序: 使用裝載機django.template.loaders.filesystem.Loader: /用戶/ some_account/Dropbox的/代碼/項目/工程/ HTML(文件存在) /用戶/ some_account/Dropbox/code/project/project/course_database/templates(File exists) 使用loader django.template.loaders.app_directories.Loader: /Users/some_account/Dropbox/code/project/project/course_database/templates(File exists) /Library/Python/2.7/site-packages/endless_pagination/templates(File exists) /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/auth/templates (文件存在) /Library/Frameworks/Python.framework/Versions/2.7/lib/pyt hon2.7/site-packages/django/contrib/admin/templates(存在文件) /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admindocs/templates (文件存在)

而且模板加載過程中的錯誤位於包括線:{% include page_template %}

爲什麼我會得到這個例外,我怎麼能解決這個問題?

回答

0

在您的search_results.html頁面中,您有{% include page_template %},我假設您使用locals()將它傳遞給模板。你可以在模板上輸出它來驗證page_template的值是什麼?將{{ page_template }}代替{% include page_template %}以驗證它是否獲得了正確的網址。