Hello,
I am studying tutorial 4. I have a page not found error. My mysite/urls.py
is as follows :
from django.conf.urls import patterns, include, url
from django.views.generic import DetailView, ListView
from polls.models import Poll
from django.contrib import admin
admin.autodiscover()
#urlpatterns = patterns('polls.views',
# url(r'^polls/$', 'index'),
# url(r'^polls/(?P<poll_id>\d+)/$', 'detail'),
# url(r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
# url(r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
#)
urlpatterns = patterns('',
url(r'^$',
ListView.as_view(
queryset=Poll.objects.order_by('-pub_date')[:5],
context_object_name='latest_poll_list',
template_name='polls/index.html')),
url(r'^(?P<pk>\d+)/$',
DetailView.as_view(
model=Poll,
template_name='polls/detail.html')),
url(r'^(?P<pk>\d+)/results/$',
DetailView.as_view(
model=Poll,
template_name='polls/results.html'),
name='poll_results'),
url(r'^(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
)
urlpatterns += patterns('',
url(r'^admin/', include(admin.site.urls)),
)
My polls/views.py is as follows:
# Create your views here.
from django.shortcuts import render_to_response, get_object_or_404
from polls.models import Poll, Choice
from django.http import Http404, HttpResponseRedirect, HttpResponse
from django.template import RequestContext
from django.core.urlresolvers import reverse
#
#def index(request):
# latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
# return render_to_response('polls/index.html', {'latest_poll_list':
latest_poll_list})
#
#def detail(request, poll_id):
# p = get_object_or_404(Poll, pk=poll_id)
# return render_to_response('polls/detail.html', {'poll': p},
context_instance=RequestContext(request))
#
#def results(request, poll_id):
# p = get_object_or_404(Poll, pk=poll_id)
# return render_to_response('polls/results.html', {'poll': p})
def vote(request, poll_id):
p = get_object_or_404(Poll, pk=poll_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/detail.html', {
'poll': p,
'error_message': "You didn't select a choice.",
}, context_instance=RequestContext(request))
else:
selected_choice.votes += 1
selected_choice.save()
# Always return an HttpResponseRedirect after successfully dealing
# with POST data. This prevents data from being posted twice if a
# user hits the Back button.
return HttpResponseRedirect(reverse('polls.views.results', args=(
p.id,)))
There is a Page404 error, that says it cannot match any url regex, and
cannot find the url.
How can I solve this problem?
Thank you.
--
SEYFULLAH TIKIÇ
--
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.