이 문제는 다른 문제와 다르다고 생각합니다. 답변을 확인한 결과 행운을 빕니다. 어떤 도움을 주셔서 감사합니다 :Django의 의견 - Ajax 및 CSRF 오류
뉴스 항목 목록 (예 : 페이스 북 피드)과 각 주석 형식 (django.contrib.comments 응용 프로그램 사용)이 첨부되어 있습니다. 정상적으로 잘 작동합니다.
하지만 페이지에서 AJAX '무한 스크롤'을 사용하고 있습니다. 스크롤하면 AJAX를 통해 다음 뉴스 세트 및 관련 코멘트 양식이로드됩니다. 새로로드 된 뉴스 항목에 대한 의견 양식이 작동하지 않습니다 (CSRF 검증에 실패 함).
{% csrf_token %}이 (가) 되돌아 오는 JSON 응답에 전달되지 않는 이유는 분명합니다. 따라서 새로로드 된 주석 양식에는 CSRF 데이터가 없습니다.
Django 페이지 (https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/#ajax)에서 쿠키 설정 방법을 사용해 보았지만 제대로 작동하지 않습니다. CSRF를 완전히 제외 시키려고 @csrf_exempt 데코레이터를 시도하지도 않습니다.
반환하는 JSON 응답과 함께 csrf_token을 전달할 수있는 방법에 대한 제안 사항이 있으십니까? 아니면 대안이 있습니까?
다음은 뷰의 :
def my_view(request):
# the normal view gets a queryset of all Info items and returns them
infos = Info.objects.all()
....
# here's the AJAX part
if request.GET.get('xhr') and page > 1:
infos = paginator.page(int(request.GET.get('page')))
objects_list = []
for object in infos:
objects_list.append(render_to_string('list/snippets/feed_li.html', {
'object': object,
}))
json = simplejson.dumps(objects_list, cls=DjangoJSONEncoder)
return HttpResponse(json, mimetype='application/json')