HttpRequest를 특정보기 함수로 라우팅하는 urls.py가 있습니다. 이러한 뷰 함수는 모두 사전 객체를 반환합니다. 어떻게 Json으로 덤프하고 HttpResponse로 감싸는 함수를 통해 이러한 모든 반환 객체를 전달할 수 있습니까?Django python - 함수를 통해 모든 HttpResponses를 넣는 방법
감사
HttpRequest를 특정보기 함수로 라우팅하는 urls.py가 있습니다. 이러한 뷰 함수는 모두 사전 객체를 반환합니다. 어떻게 Json으로 덤프하고 HttpResponse로 감싸는 함수를 통해 이러한 모든 반환 객체를 전달할 수 있습니까?Django python - 함수를 통해 모든 HttpResponses를 넣는 방법
감사
은 아마 render_decorator 당신이 원하는합니다. 사용법 :
@render('index.html', ('json',))
def my_view(request)
#do something
return {'key': 'value'}
아니면 JSON보기를 얻기 위해 딕셔너리를 반환하는 함수에 사용이 snippet.
에서 HttpResponse에 그것을 포장 할을하지만이 후 일부 HTML 렌더링된다 – user973758
실제로이 데코레이터를 사용하여 json 응답을 반환 할 수 없음을 알 수 없음 – user973758
@ user973758 다른 답변에 대한 링크로 내 대답을 업데이트했습니다. 어쨌든 데코레이터를 사용하는 것이 가장 좋은 방법이라고 생각합니다. –
Django Middleware을 사용하여 응답 개체를 처리하십시오. 사용자 지정 미들웨어에 process_response
메서드를 구현하십시오. 보기에 의해 생성 된 사전을 사용하여 원하는 json으로 변환하십시오. 그런 다음 실제 응답이 json인지 확인하는 아래 함수로 전달하십시오.
def render_json_response(data):
"""Sends an HttpResponse with the X-JSON header and the right mimetype."""
resp = HttpResponse(data, mimetype=("application/json;"))
resp['X-JSON'] = data
return resp
는 또한
Django Annoying 프로젝트 서브 클래스
HttpResponse
에 대한
방법이 ajax_request decorator - returns JsonResponse with dict as content
사용할 발견? json을 반환하기 위해 뷰에서 이것을 사용하고 있습니다.
import simplejson
from django.http import HttpResponse
class JsonResponse(HttpResponse):
def __init__(self, data):
super(JsonResponse, self).__init__(
content=simplejson.dumps(data),
mimetype='application/json; charset=utf8')
무엇을 시도 했습니까? 반환 HttpResponse에 (json.dumps (responseObject)) 이제 난 그냥 responseObject을 반환하고 다음 단계의 UO – user1614526
는 원래 각 뷰 기능에 내가 있었다 파일? 지금까지 나는 그것을 피할 수 있었다. – user973758