Bonjour,
je n'arrive pas à comprendre l'erreur que j'ai avec mon code.
Merci pour l'aide.

L'erreur:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,})