2010-06-26 10 views
3

파이썬에서 응용 프로그램 (API)을 개발 중이며 웹 서비스와 같은 웹 인터페이스를 통해 일부 기능을 제공하고 싶습니다. 나는 장고를보고 있었지만 실제로 내 생각에 잘 들어 맞는지는 모른다. 나는 그 웹 페이지를 제공하는 기능을 충실히하기 위해서 나의 API 메소드를 호출하는 웹 페이지 만 만들고 싶다. 그러나, 튜토리얼을 따라 한 후, 나는 장고의 요점에 대해 약간 혼란 스럽다. 클래식 웹 애플리케이션보다 ORM과 더 관련이있는 것 같습니다.간단한 웹 응용 프로그램의 장고

django는 간단한 개발을 위해 너무 무거웠습니다 (앞에서 언급했듯이 웹을 통해 API를 호출합니다). 항상 데이터베이스를 사용해야합니까?

감사합니다.

답변

5

나는 장고를 좋아하지만 거기에 당신의 머리를 얻을 많이 있습니다! 데이터베이스 비트를 원하지 않으면 URL을 처리하고 http 응답으로 원하는 정보를 반환 할 urls.py 및 views.py에 집중하십시오.

예 : 에 urls.py

urlpatterns += patterns('myapp.views', 

    url(r'^getstuff/$', 'getstuff'), 
) 

views.py

def getstuff(request): 

    do whatever in python 

    return HttpResponse(stuff to return) 
0

장고에서는 데이터베이스를 사용할 필요가 없습니다. 귀하의 필요에 부응하든, 오직 귀하 만이 알 수 있습니다. 사용할 수있는 다른 Python 웹 프레임 워크가 있습니다.

4

장고 프로젝트에서 데이터베이스를 사용할 필요는 없습니다. 기본적으로 django는 표준 아키텍처과 함께 MVC 패턴 (또는 때로는 설명 된 MVT)을 따릅니다. 이것은 아마 당신이 당신의 작업을 수행 할 일을 다음을 수행해야하는 등 모델, 뷰, URL을 파견, 템플릿,

을 포함

  1. 일부 장고보기로 urls.py 에 URL 정의를 작성을
  2. 당신의 API 및 표시 웹 페이지로 결과를 어떻게 든 전화 장고보기를 쓰기

당신은 모델과 데이터베이스에서 모든하지만, 필요하지 않습니다 당신은 전망, URL, 템플렛을 가진 familliar를 얻을 필요가있다. 그것은 당신의 간단한 경우를위한 큰 기계처럼 보일지도 모르지만, 당신이 시간이 있다면 나는이 장고 기본 사항을 권장합니다.

좀 더 간단한 것을 찾고 있다면 webpy project에 대해 들었습니다. 정말 간단한 것이 필요한 경우이 옵션을 선택하는 것이 좋습니다.

+0

나는 장고로 계속하기로 결정했습니다. 나는 django의 공식 튜토리얼이 웹 애플리케이션 개발의 첫 번째 단계에서 너무 무겁다 고 생각한다. 어쨌든, ORM이 아닌 웹 배포에 초점을 맞춘 튜토리얼을 발견했습니다. 위에서 언급 한 두 가지 요점을 따르고 마침내 내 마음을 닦았습니다. – Francisco

1

중요한 질문 : 웹 서비스 아파치와 같은 모든 기능을 갖춘 서버에 의해 제공하려면, 아니면 그냥보고 있습니다 수행 "웹 서버"가 프로그램의 스레드 (또는 이와 동등한 것)일까요?

Apache를 실행하려면 Werkzeug과 같은 것을 권유합니다. 그러면 대부분의 WSGI 작업이 처리됩니다. 템플릿 작성을 위해 Jinja2에 대한 좋은 소식을 들었습니다.

너무 많으면 가볍고 간단한 서버 만 있으면됩니다 (요청시 일부 HTML 또는 XML을 뱉어 내고 멋진 URL 처리가 필요하지 않음). 파이썬과 함께 제공되는 SimpleHTTPServer 또는 CGIHTTPServer 모듈.

장고는 데이터베이스 기반 웹 응용 프로그램을 작성하는 데 필요한 거의 모든 기능을 제공하는 완벽한 기능의 통합 패키지입니다. 다양한 구성 요소를 독립적으로 사용할 수 있지만 한 가지만 사용하는 경우 (템플릿과 뷰 엔진을 사용하는 경우) 과도한 작업 일 수 있습니다.

1

프레임 워크가 필요하지 않습니다. Raw wsgi는 어렵지 않지만 약간 장황하다. 그래서 아파치 mod_wsgi에 실행되도록 충분한 년대 webob 버전

from webob.dec import wsgify 
from webob import Request 

@wsgify 
def application(request): 
    return Response("<html><body><h1>Hello World</h1></body></html>") 

에게 WebOb

여기 원시 WSGI 여기

def application(environ, start_response): 
    start_response("200 OK", []) 
    return ["<html><body><h1>Hello World</h1></body></html>"] 

의 사용처럼, 당신은 것을 사용할 수있는 라이브러리의 많음이있다 webob 요청 및 응답을 기대/생성합니다. Turbogears 2 또는 repoze.bfg이 사용하는 것은 그 시점에서 공정한 게임입니다.