Hi all,

I'm working on the official django 1.9 tutorial part 4 , Python 3.5 and Django 1.9 are encapsulated in a virtualenv file in my /opt/ directory.

OS Debian Linux with KDE desktop

IDE Eclipse with PyDev plugin.

Every time I try to vote the program errors out with the following:

File "/opt/python-virtual-environments/py3.5dj1.9.7/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 976, in get_prep_value
    return int(value)
ValueError: invalid literal for int() with base 10: 'on'
[07/Jul/2016 16:21:41] "POST /polls/1/vote/ HTTP/1.1" 500 120688

*The code at line 976 is:*

    def get_prep_value(self, value):
        value = super(AutoField, self).get_prep_value(value)
        if value is None:
            return None
        return int(value)

*My project layout is:*

mysite

    src

        mysite

            ...

            settings.py

            urls.py

            wsgi.py

        polls

            migrations

            templates

                polls

                    detail.html

                    index.html

                    results.html

            admin.py

            apps.py

            models.py

            urls.py

            views.py

            db.sqlite3

        manage.py



*My mysite.settings file Installed apps looks like:*

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

*My polls.views file is :*

#Include any python library functions you wish.

from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.core.urlresolvers import reverse


from polls.models import Choice, Question


def index(request):
    latest_question_list = Question.objects.order_by('-pub_date')[:5]
    context = {'latest_question_list': latest_question_list }
    return render(request, 'polls/index.html', context)

def detail(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    return render(request, 'polls/detail.html', {'question': question})


def results(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    return render(request, 'polls/results.html', {'question':question})


def vote(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    try:
        selected_choice = question.choice_set.get(
                          pk=request.POST['choice'])
    except (KeyError, Choice.DoesNotExist):
        return render(request, 'polls/detail.html',
                      {'question': question, 'error_message':
                       "You didn't select a choice.",}
                      )
    else:
        selected_choice.votes += 1
        selected_choice.save()
        return HttpResponseRedirect(reverse('polls:results',
               args=(question.id,)))

*The polls,detail.html is:*

<h1>{{ question.question_text }}</h1>

{% if error_message %}<p><strong>{{ error_message }}</strong></p>
{% endif %}

<form action="{% url 'polls:vote' question.id %}" method="post">
    {% csrf_token %}

    {% for choice in question.choice_set.all %}
        <input type="radio" name="choice"
            id="choice{{forloop.counter }}"
            value"{{ choice.id }}" />
        <label for="choice{{ forloop.counter }}">
            {{ choice.choice_text }}</label><br />
    {% endfor %}

    <input type="submit" value="vote" />

</form>

I am not very familiar with the Eclipse PyDev debugger and can't seem to find the problem. Any help will be sincerely appreciated.

Gary R.


--
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+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/5ea0dbd8-f080-7d03-eaab-428a2e117cd1%40verizon.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to