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

  • chickenby

    chickenby

    2 HAZİRAN 2008
  • ICON

    ICON

    19 EKİM 2011
  • pucksz

    pucksz

    24 Mart 2006