Friday, December 20, 2013

Re: Advanced Tutorial (how to write reusable app), last step does not work

Faced the same problem with the Django 1.6 tutorial... circumvented it by renaming "index.html" to "poll_list.html".

Read on if you want to know more about this issue...

It seems there is a problem with the template loader, or the specification of which template to load for the generic.ListView.

The generic.DetailView seems to find polls/detail.html and polls.results.html templates easily enough.
However, IndexView cannot find polls/index.html.
This is not a template folder specification problem, as all these files are in the same folder..

Also, Django specifically says in its error message /home/user/website/myweb/polls/templates/polls/index.html, polls/poll_list.html (File does not exist)

I don't understand what it means... is it looking for either of the files "index.html" (this file exists and is at the correct location) or "poll_list.html", or the weirder file "index.html, polls/poll_list.html". In the latter case, "index.html, polls" is a directory with a ", " in its name.

Template-loader postmortem

Django tried loading these templates, in this order:

  • Using loader django.template.loaders.filesystem.Loader:
    • /home/user/website/myweb/templates/polls/index.html, polls/poll_list.html (File does not exist)
  • Using loader django.template.loaders.app_directories.Loader:
    • /usr/local/lib/python2.7/dist-packages/django/contrib/admin/templates/polls/index.html, polls/poll_list.html (File does not exist)
    • /usr/local/lib/python2.7/dist-packages/django/contrib/auth/templates/polls/index.html, polls/poll_list.html (File does not exist)
    • /home/user/website/myweb/polls/templates/polls/index.html, polls/poll_list.html (File does not exist)



I tried a fun experiment... created a directory called "index.html, polls" under polls/templates/polls and added a file called poll_list.html. On refresh, the error message is

  • /home/user/website/myweb/polls/templates/polls/index.html, polls/poll_list.html (File exists)

The theory is correct... Django generic.ListView is looking into a weird folder with ", " in its name.
Hopefully, this helps to track the problem.

On Friday, 26 July 2013 17:20:26 UTC-7, Cate Liu wrote:

I am a new newbie to Django.  Great tutorial BTW.  I followed it to the T and 99.9% worked.
Except the last step in the Advanced tutorial, the step 3 in 'Using your own package'.
I could see http://127.0.0.1:8000/admin/ and create polls without any problem.
But http://127.0.0.1:8000/polls/ would give me the following error.

I see there are two problems.
1. /Users/nnn/django_exercises/mysite/templates/polls/index.html is the wrong location, it should be $$/django_polls/polls/templates/polls/index.html.
2. What is 
polls/poll_list.html?  Nowhere in the tutorial ever created this file, no?

Thanks for any advice.


----------------------------------------------------------------------------------------------------------

TemplateDoesNotExist at /polls/

polls/index.html, polls/poll_list.html
Request Method: GET
Request URL: http://127.0.0.1:8000/polls/
Django Version: 1.5.1
Exception Type: TemplateDoesNotExist
Exception Value:
polls/index.html, polls/poll_list.html
Exception Location: /Library/Python/2.7/site-packages/django/template/loader.py in select_template, line 194
Python Executable: /usr/bin/python
Python Version: 2.7.2
Python Path:
['/Users/nnn/django_exercises/mysite',   '/Users/nnn/py_pkg/lib/python/django_polls-0.1-py2.7.egg',   '/Users/nnn/py_pkg/lib/python',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',   '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',   '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',   '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',   '/Library/Python/2.7/site-packages']
Server time: Fri, 26 Jul 2013 16:59:14 -0700


Template-loader postmortem

Django tried loading these templates, in this order:

  • Using loader django.template.loaders.filesystem.Loader:
    • /Users/nnn/django_exercises/mysite/templates/polls/index.html, polls/poll_list.html (File does not exist)
  • Using loader django.template.loaders.app_directories.Loader:
    • /Library/Python/2.7/site-packages/django/contrib/auth/templates/polls/index.html, polls/poll_list.html (File does not exist)
    • /Library/Python/2.7/site-packages/django/contrib/admin/templates/polls/index.html, polls/poll_list.html (File does not exist)

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/5d509bec-4e17-41da-b52e-ae687e4c24ec%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment