私は公式のdjangoチュートリアルからdjangoを学んでいます。フォームから何かに投票すると、このエラーが発生します。これは、views.pyの下の-おそらく-投票機能が原因です
これが私のviews.py/投票関数です:
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):
return render_to_response('polls/detail.html', {'poll':p,
'error_message' : "didint select anything ",}, context_instance= RequestContext(request))
else:
selected_choice.votes += 1
selected_choice.save()
return HttpResponseRedirect(reverse('polls.views.results', args=(p.id,)))
これはエラーメッセージ画面です:
** / polls / 2/vote/でのValueError
10進数のint()のリテラルが無効です:'on' **
リクエスト方法:POSTリクエストURL:127.0.0.1:8000/polls/2/vote/
Djangoバージョン:1.4例外タイプ:ValueError例外値:ベース10のint()の無効なリテラル:'on'例外の場所:/usr/local/lib/python2.7/dist-packages/django/db/models/fields/ get_prep_valueの537行目のinit.py
そしてここに私のpolls/urls.pyがあります:
from django.conf.urls import patterns, include, url
urlpatterns = pattern('polls.views'、
url(r'^$', 'index'),
url(r'^(?P<poll_id>\d+)/$','detail'),
url(r'^(?P<poll_id>\d+)/results/$','results'),
url(r'^(?P<poll_id>\d+)/vote/$','vote'),
)。
そしてここにproject/urls.pyがあります:
from django.conf.urls import patterns, include, url
urlpatterns = pattern('polls.views'、
url(r'^$', 'index'),
url(r'^(?P<poll_id>\d+)/$','detail'),
url(r'^(?P<poll_id>\d+)/results/$','results'),
url(r'^(?P<poll_id>\d+)/vote/$','vote'),
)。