La désérialisation JSON dans Django

Celui-ci a m'a fait m'arracher les cheveux. J'ai essayé de désérialiser JSON dans Django pour les deux dernières heures.

J'ai une fonction:

    # in index.html
    function updateWidgetData(){  
        var items=[]; 
        for statement here:
            for statement here:
                var item={  
                    id: $j(this).attr('id'),  
                    collapsed: collapsed,  
                    order : i,  
                    column: columnId  
                };  
        items.push(item);  

        var sortorder={ items: items};  

        $j.post('2', 'data='+$j.toJSON(sortorder), function(response)
        {  
            if(response=="success")  
                $j("#console").html('<div class="success">Saved</div>').hide().fadeIn(1000);  
            setTimeout(function(){  
                $j('#console').fadeOut(1000);  
        }, 2000);  
    });

}

Et je suis en train de désérialiser le JSON dans django:

# in views.py
if request.is_ajax():
    for item in serializers.deserialize("json", request.content):
        item = MyObject(id=id, collapsed=collapsed, order=order, column=column)
    return HttpResponse("success")
else:
    ....

Et il n'a pas travaillé. Je sais que c'est probablement vraiment une question triviale, mais je n'ai jamais utilisé JSON avant, et j'apprécierais vraiment de l'aide. Merci!

"Et il n'a pas été de travail" - où ne fonctionne pas? L'explosion dans la Django vue? Une stacktrace/message d'erreur va nous aider à vous aider
Le JS, en cas de succès, montre une div appelé console qui clignote le message "sauvé". Il n'a pas été de montrer, me faire supposer que Django n'est pas l'envoi de la HttpResponse à cause d'une erreur. Je pense qu'il n'y a pas un django page d'erreur qui s'affiche parce que c'est de l'ajax et il ne va pas mettre en place un autre modèle.
Vous pouvez utiliser Firebug ou Google Chrome developer tools pour voir le retour de la page (page d'erreur).
+1 pour le titre, facile à trouver.

OriginalL'auteur Temuz | 2011-06-17