Have a newbie question. I'm stuck on the tutorial and keep getting a
404 error when I try to hit: http://127.0.0.1:8000/polls
My files are listed below, does anyone see something that I'm doing
wrong?
URLS.py
#----------------------------------
# Uncomment the next two lines to enable the admin:
# This maps URL roots to applications
#----------------------------------
from django.contrib import admin
admin.autodiscover()
from django.conf.urls.defaults import *
from mysite.polls.models import Poll
info_dict = {
'queryset': Poll.objects.all(),
}
urlpatterns = patterns('',
# Example:
# (r'^mysite/', include('mysite.foo.urls')),
# Uncomment the admin/doc line below and add
'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/(.*)', admin.site.root),
# Add Polls Views (Design URLs)
# Define them in views
# Add templates
(r'^$', 'django.views.generic.list_detail.object_list',
info_dict),
(r'^(?P<object_id>\d+)/$',
'django.views.generic.list_detail.object_detail', info_dict),
url(r'^(?P<object_id>\d+)/results/$',
'django.views.generic.list_detail.object_detail', dict(info_dict,
template_name='polls/results.html'), 'poll_results'),
(r'^(?P<poll_id>\d+)/vote/$', 'mysite.polls.views.vote'),
)
VIEWS.py
# Create your views here.
from mysite.polls.models import Choice, Poll
from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
def vote(request, object_id):
p = get_object_or_404(Object, pk=object_id)
try:
selected_choice = p.choice_set.get(pk=request.POST['choice'])
except (KeyError, Choice.DoesNotExist):
# Redisplay the poll voting form.
return render_to_response('polls/poll_detail.html', {
'object': p,
'error_message': "You didn't select a choice.",
})
else:
selected_choice.votes += 1
selected_choice.save()
return HttpResponseRedirect(reverse('poll_results', args=
(p.id,)))
POLL_DETAIL.html
<h1>{{ object.question }}</h1>
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{%
endif %}
<form action="vote/" method="post">
{% for choice in object.choice_set.all %}
<input type="radio" name="choice" id="choice{{ forloop.counter }}"
value="{{ choice.id }}" />
<label for="choice{{ forloop.counter }}">{{ choice.choice }}</
label><br />
{% endfor %}
<input type="submit" value="Vote" />
</form>
POLL_LIST.html
{% if object_list %}
<ul>
{% for object in object_list %}
<li>{{ object.question }}</li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
RESULTS.html
<h1>{{ object.question }}</h1>
<ul>
{% for choice in object.choice_set.all %}
<li>{{ choice.choice }} -- {{ choice.votes }} vote{{ choice.votes|
pluralize }}</li>
{% endfor %}
</ul>
VOTE.html
{{object}}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---