SORU
11 Mart 2010, PERŞEMBE


JSON yanıt Django kullanarak oluşturma ve Python

Django bir HttpResponse içine sunucu tarafında Ajax yanıt komut dosyası dönüştürmek için çalışıyorum, ama belli ki işe yaramıyor.

Bu sunucu tarafı komut dosyası

/* RECEIVE VALUE */
$validateValue=$_POST['validateValue'];
$validateId=$_POST['validateId'];
$validateError=$_POST['validateError'];

/* RETURN VALUE */
$arrayToJs = array();
$arrayToJs[0] = $validateId;
$arrayToJs[1] = $validateError;

if($validateValue =="Testuser"){  // Validate??
    $arrayToJs[2] = "true";       // RETURN TRUE
    echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}';  // RETURN ARRAY WITH success
}
else{
    for($x=0;$x<1000000;$x  ){
        if($x == 990000){
            $arrayToJs[2] = "false";
            echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}';   // RETURNS ARRAY WITH ERROR.
        }
    }
}

Ve bu dönüştürülmüş kodu

def validate_user(request):
    if request.method == 'POST':
        vld_value = request.POST.get('validateValue')
        vld_id = request.POST.get('validateId')
        vld_error = request.POST.get('validateError')

        array_to_js = [vld_id, vld_error, False]

        if vld_value == "TestUser":
            array_to_js[2] = True
            x = simplejson.dumps(array_to_js)
            return HttpResponse(x)
        else:
            array_to_js[2] = False
            x = simplejson.dumps(array_to_js)
            error = 'Error'
            return render_to_response('index.html',{'error':error},context_instance=RequestContext(request))
    return render_to_response('index.html',context_instance=RequestContext(request))

Simplejson Python listesi JSON bir dizi döndürür) kodlamak için kullanıyorum. Sorunu henüz çözemedim. Ama bir şey hakkında yanlış yaptığımı düşünüyorum''. echo

CEVAP
11 Mart 2010, PERŞEMBE


Ben genellikle bir sözlük, içeriği JSON dönmek için bir liste kullanabilirsiniz.

import json

from django.http import HttpResponse

response_data = {}
response_data['result'] = 'error'
response_data['message'] = 'Some error message'

Pre-Django 1.7 döneceğini şöyle:

return HttpResponse(json.dumps(response_data), content_type="application/json")

this SO answer gösterildiği gibi 1.7 , 9 ** Django

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • gamingbits

    gamingbits

    2 Mayıs 2006
  • kylelandry

    kylelandry

    9 AĞUSTOS 2007