역할 :
사용자에 대한 사용자 요청 URL 또는 허용의 유형은, 최고의 렌더링 구성 요소를 선택합니다.
사용자의 URL을 요청
http://127.0.0.1:8000/test/?format=json
http://127.0.0.1:8000/test.json
두 내장 렌더러
JSON 형식을 표시합니다 JSONRenderer를
액세스 URL :
http://127.0.0.1:8000/test/?format=json
http://127.0.0.1:8000/test.json
http://127.0.0.1:8000/test
기본 표시 형식 : BrowsableAPIRenderer가 (당신이 html 파일을 수정할 수 있습니다)
액세스 URL
http://127.0.0.1:8000/test/?format=api
http://127.0.0.1:8000/test.api
http://127.0.0.1:8000/test
표 형식 : AdminRenderer
액세스 URL :
http://127.0.0.1:8000/test/?format=admin
http://127.0.0.1:8000/test.admin
http://127.0.0.1:8000/test
양식 방법을 형성 : HTMLFormRenderer
액세스 URL
http://127.0.0.1:8000/test/?format=from
http://127.0.0.1:8000/test.from
http://127.0.0.1:8000/test
세 부분으로 사용
에서 rest_framework.renderers는 가져 HTMLFormRenderer, BrowsableAPIRenderer의 클래스 : BookDetailView (APIView)
renderer_classes = [HTMLFormRenderer, BrowsableAPIRenderer]
데프 수 (자기, 요청, PK) : book_obj = models.Book.objects.filter (PK = PK) 좁은 방 () 학사를 = BookSerializers (book_obj, 많은 = 거짓) 반환 응답 (bs.data) 데프 (자동, 요청, PK) 넣어 : book_obj = models.Book.objects.filter (PK = PK) 좁은 방 () 학사 =의 BookSerializers (데이터 = request.data 예 = book_obj) 경우 bs.is_valid () : bs.save () #의 업데이트 반환 응답 (bs.data) 다른 사람 : 반환 응답 (bs.errors) 데프 삭제 (자기, 요청, PK) : models.Book.objects.filter (PK = PK) .delete () 반환 응답 ( "" )
네 개의 글로벌 사용
구성의 설정에서 :
REST_FRAMEWORK = { ' DEFAULT_RENDERER_CLASSES ' : ' rest_framework.renderers.JSONRenderer ' ] }
다섯 사용자 정의 디스플레이 템플릿 :
에서 rest_framework.renderers가 가져 TemplateHTMLRenderer의 클래스 BookDetailView (APIView 일) : renderer_classes = [TemplateHTMLRenderer] 데프 수 (자기, 요청, PK) : book_obj = models.Book.objects.filter (PK = PK) 좁은 방 () 학사 =의 BookSerializers (book_obj = 많은 ) False를 반환 응답 (bs.data, TEMPLATE_NAME = ' aa.html ' )
<! DOCTYPE HTML> <HTML LANG = " EN " > <head> <메타 캐릭터 = " UTF-8 " > <TITLE> 제목 </ TITLE> </ head> <body> {{제목}} {{publishDate} } </ BODY> </ HTML>
참고 : 만약 자동으로 URL 접미사 렌더러에 따라 선택의 복수의 존재를 모두.