2010-09-21 5 views
0

Django quand j'envoie la chaîne suivante à partir d'un ajax soumettre je reçois la chaîne suivante dans unicode.How pour décoder cechaîne Django dans le modèle unicode

$.post("/records/save_t/",snddata, 
    function(data){ 
    if(data == 0){ 
    } 
     },"json"); 

En django

def save_t(request): 
    if request.method == 'GET': 
     qd = request.GET 
    elif request.method == 'POST': 
     qd = request.POST 
    map_str = qd.getlist('map_str') 
    logging.debug(map_str) 

sortie est [u'##1##@1//##2##@1//'] . Comment puis-je convertir cela en une chaîne? str(map_str) ne fonctionnait pas.

également comment obtenir les valeurs dans le modèle

str = map_str.split("//") 
for s in map_str.split("//"): 
    ... 
    ... 
+0

Vous n'avez pas besoin de convertir 'unicode' en chaîne. Un objet 'unicode' ** EST ** une chaîne. –

Répondre

0

Pourquoi pensez-vous que vous avez besoin de le convertir en une chaîne? Quel est le problème avec Unicode? Il devrait être parfaitement utilisable tel quel.

Dans tous les cas, ce que vous avez une liste contenant une seule chaîne unicode (parce que vous avez utilisé getlist, qui revient toujours sans surprise une liste). Est-ce que le problème réel est juste que vous voulez extraire les données réelles de la liste? Ensuite, utilisez map_str[0] (bien sûr, map_str est un mauvais nom, car ce n'est pas une chaîne mais une liste).

Ou, ne pas utiliser getlist, mais un simple get pour obtenir une chaîne plutôt qu'une liste.