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

  • andony5589

    andony5589

    7 Aralık 2011
  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008

İLGİLİ SORU / CEVAPLAR