ValueError at /libri/ricerca/
Bonjour,
je n'arrive pas à comprendre l'erreur que j'ai avec mon code.
Merci pour l'aide.
L'erreur:
Citation:
Environment:
Request Method: GET
Request URL:
http://127.0.0.1:8000/libri/ricerca/
Django Version: 1.1.1
Python Version: 2.6.3
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.admindocs',
'libreria']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
Traceback:
File "c:\python26\lib\site-packages\django\core\handlers\base.py" in get_response
109. raise ValueError, "The view %s.%s didn't return an HttpResponse object." % (callback.__module__, view_name)
Exception Type: ValueError at /libri/ricerca/
Exception Value: The view libreria.views_wiki.ricerca didn't return an HttpResponse object.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| import urllib2
from django import forms
from django.shortcuts import render_to_response
from django.shortcuts import get_object_or_404
from django.utils.simplejson.decoder import JSONDecoder
from models import *
class WikisearchForm(forms.Form):
autore = forms.IntegerField(widget=forms.Select(
choices = [(autore.pk, autore) for autore in Autore.objects.all()]))
wikipedia = forms.CharField(widget=forms.Select(
choices=(("it","Italiana"), ("en","Inglese"))))
limite = forms.IntegerField(initial=10, widget=forms.RadioSelect(
choices=((10,"10"),
(50,"50"),
(100,"100"))))
wiki_url_api="http://%s.wikipedia.org/w/api.php?action=query&format=json&srlimit=%s&list=search&srsearch=%s"
wiki_link="http://%s.wikipedia.org/wiki/"
def ricerca(request):
risultati = link = None
if request.method == 'POST':
form = WikisearchForm(request.POST)
if form.is_valid():
autore = get_object_or_404(Autore,
pk=form.cleaned_data['autore'])
url = wiki_url_api % (form.cleaned_data['wikipedia'],
form.cleaned_data['limite'],
autore.cognome)
link = wiki_link % form.cleaned_data['wikipedia']
dati = urllib2.urlopen(url.encode('utf-8')).read()
valori = JSONDecoder().decode(dati)
risultati = valori['query']['search']
else:
form = WikisearchForm()
return render_to_response('wikisearch.html', {
'form': form,
'link': link,
'risultati': risultati,}) |