django 백엔드에서 json 데이터를 되돌려줍니다

10350 단어 django
상황:django 백엔드에서 전단의ajax 요청에 응답할 때 가장 좋은 방법은 json 형식의 데이터를 되돌려주는 것이다. 클래스 데이터는 직접 되돌려줄 수 없고 마찬가지로 json 데이터로 전환해야 한다.
예:
프런트엔드 html 코드:

<tbody >
	<tr  ng-repeat="obj in md5_form_list">
		<td> {[ $index+1 ]} td>
		<td> {[ obj.deploy_file ]}  td>
		<td> {[ obj.md5_source ]} td>
		<td> {[ obj.remote_file ]} td>
		<td> {[ obj.md5_remote ]} td>
		<td> <span class="label label-danger" ng-if="obj.check_result==0">errorspan>
			 <span class="label label-success" ng-if="obj.check_result==1">successspan>
		td>
	tr>
tbody>

프런트엔드 js 코드:
//ajax     ,angularjs ajax  
        $http({
            method:'post',
            url: "/sky/deploy/md5Check",
            headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, //     
			data:$.param({"hostIp":deployChecked[0], "orderCode":order_code})
        }).success(function(response,status){
        	//                    ,html      ng-repeat    
            $scope.md5_form_list = response["md5_form_list"]
            $scope.result_all = response["result_all"]
        })

백그라운드 코드:
import json

# md5  
@login_required
@csrf_exempt
def md5_check(request):
    #           
    host_ip = request.POST["hostIp"]
    order_code = request.POST["orderCode"]
	#      
    host = Host.objects.filter(ip=host_ip)[0]
    order = Order.objects.filter(order_code=order_code)[0]
	# md5_form_list        list
    md5_form_list, result_all = services.md5_check(order, host)
	#      dict,            
    result = {"md5_form_list": md5_form_list, "result_all": result_all}
	#     :   json  ,      
    return HttpResponse(json.dumps(result), content_type="application/json")

그래서 json 데이터를 사용하는 것은 매우 편리하다.

좋은 웹페이지 즐겨찾기