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

  • Besnik Ibrahimi

    Besnik Ibrah

    27 Mart 2010
  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • katherine gomez

    katherine go

    1 Aralık 2011