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

  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006
  • SDSARG3

    SDSARG3

    14 Mart 2009