2014-11-27 5 views
0

모든 확률에 대해 Django (단순 REST 프레임 워크가 아닌)에서 간단한 "Hello world"REST API를 빌드하는 방법의 예제를 찾을 수 없습니다.Django 1.7의 REST API

my_app/api/v1/hello_world 

, 사용자가 말에 GET 요청을 수 있도록 그들은

{"hello": "world"} 

어떤 있습니까받을? 아니면 내게 줄 수 있니?

답변

1

Django에는 "Hello World"응용 프로그램의 예제가 많이 있습니다. 특히 하나는 내가 공동 저자는 여기에서 찾을 수 있습니다 :

from django.conf import settings 
from django.conf.urls import url 
from django.core.management import execute_from_command_line 
from django.http import JsonResponse 


settings.configure(
    DEBUG=True, 
    SECRET_KEY='placerandomsecretkeyhere', 
    ROOT_URLCONF=__name__, 
    MIDDLEWARE_CLASSES=(), 
) 

urlpatterns = [ 
    url(r'^my_app/api/v1/hello_world/$', 
     lambda request: JsonResponse({'hello': 'world'})) 
] 


if __name__ == "__main__": 
    execute_from_command_line() 

는 그것은 JsonRsponse에 대한 1.7+ 장고가 필요하지만이 나이에 적응하기 쉬운 것 : 여기 http://radar.oreilly.com/2014/04/simplifying-django.html 당신이 원하는 출력을 생성하기위한 적응 예입니다 버전은 HttpResponse입니다. 이것을 hello.py으로 저장하고 python hello.py runserver으로 서버를 실행할 수 있습니다. curl로 충격을 가하면 생성합니다 :

$ curl -i http://localhost:8000/my_app/api/v1/hello_world/               
HTTP/1.0 200 OK 
Date: Thu, 27 Nov 2014 14:48:07 GMT 
Server: WSGIServer/0.1 Python/2.7.3 
Content-Type: application/json 

{"hello": "world"} 

그러나 이것은 단지 코드 골프의 운동과 편안한 API를 구축 과잉 단순화이다. Django가 응답 요청 (정규식 패턴을 호출 가능 파일로 매핑)에 대한 기본 사항을 배우려면이 예제가 도움이 될 수 있습니다. 의미있는 REST API를 만드는 법을 배우고 싶다면 Django REST 프레임 워크는 강력하고 자체적으로 문서화 할 수있는 API를 빌드하는 환상적인 도구입니다.

+0

고맙습니다.하지만 모델, 컨트롤러는 어떻습니까? –

+0

'lambda '에 의해 생성 된 익명 함수는 유효한 Django 뷰입니다. 질문은 모델을 필요로하지 않기 때문에 모델이 없습니다. 당신은 "Hello World"예를 물어 보았습니다. 그게 제가 준 것입니다. –

+0

환영 페이지와 다른 api 엔드 포인트를 추가하려면 어떻게해야합니까? –