본문 바로가기

Django

django / HttpResponse list return

 

django에서 ajax를 사용해 값을 받을때 계속 AttributeError: 'TypeError' object has no attribute 'message'

(이제 그만 만나고싶다. 이 에러 ㅠㅠ)

 

해결하기위해 list return 방식을 찾던 중 빛같은 자료 찾음!

 

list를 HttpResponse로 넘기기 위해서는 json으로 변환 후 보내야함 

그렇지않으면, ajax에서 아무리 list를 받아도 type이 string으로 확인 됨

(휴. 이 짓만 몇번했는지 분명 백에선 list 타입인데 왜 ajax로 받기만 하면 string이냐고..)

 

 

json.dumps에 배열을 담고

return 시 content_type ="application/json" 추가 필요

 

Usage

def test(request):
	
    data = [{'id': 72, 'user': 'test','phone': '111-222-3333'}]
    
    results =json.dumps({'data': data}  #json으로 변환
    return HttpResponse(results, content_type="application/json")
    
    
 or
 
 return HttpResponse(json.dumps({'result': result}), content_type="application/json")


 

 

 

 

참고사이트

https://kmseop.tistory.com/25

반응형