2009-02-08 3 views
5

저는 App Engine에서 새로운 프로젝트를 시작하는 중이며 Brandon's advice은 저를 생각하게했습니다.Google App Engine에서 작동하는 Django의 가장 뛰어난 기능은 무엇입니까?

Django의 많은 기능은 Google App Engine에서 작동하지 않습니다 (예 : 관리 인터페이스 및 모델링 프레임 워크).

앱 엔진이 이미 내장 된 간단한 프레임 워크 ("webapp")를 가지고 점을 감안하면 I (하지만이 경우 거세) 상대적으로 무거운 무게로 자신을 묶는없이 (장고의 포함) 많은 파이썬 템플릿 솔루션에서 할 수 freely pick 프레임 워크 내가 장고에 가지 않으면 가장 놓칠 수있는 주요 기능은 무엇입니까?

배경 : 최소한의 장고 경험 만 있고 Mako 템플릿 (속도 용) 사용을 고려하고 있습니다.

답변

6

가장 큰 차이점은 Admin과 Django (우수한) ORM을 지원하지 않는다는 것입니다. 하지만 Google의 자체 Datastore API가 우수하기 때문에 놀라운 것은 아닙니다. 그리고 GQL을 배우기 위해 배우지 않아도됩니다.

그러나 Django를 사용하면 더 많은 기존 기능 (Django 미들웨어 등)을 활용할 수 있으며 이후에 Google App Engine을 떠나고 싶다면 다시 작성할 코드가 줄어 듭니다.

또한 Google은 GAE 장고 앱 설정에 도움이되는 Google App Engine Helper for Django을 출시했습니다.

그래서 순수 웹 애플리케이션 대신 장고를 사용하는 Google App Engine 애플리케이션을 사용하려고합니다. 요청에

편집 : 내가 언급 장고의 기존 기능은 많은 유용한 응용 프로그램과 대부분 미들웨어의 측면에서 취할 수는 하루 거대한 장고 커뮤니티 하루에 의해 개발되고있다.

DJango 자체에서 제공하는 유용한 Built-in-Middlewares 외에도 몇 가지 특수한 사용법도 있습니다. (나에게 흥미로운 소리)

몇 가지 이름을하려면 :

그리고 효율적으로 놀 "Conditional middleware execution in Django"은 편리 할 수 ​​있습니다.

검색하면 더 찾을 수 있습니다.

+0

"더 많은 기존 기능 (장고 미들웨어 등)을 활용할 수 있습니다." 좀 더 자세히 설명해 주시겠습니까? 그 특징들은 정확히 무엇입니까? – nyenyec

2

app-engine-patch 1.0 베타 (link to announcement)로 지원을 얻고있는 것으로 보입니다.

나에게 이것은 아마도 장고의 최고의 기능입니다. (App Engine의 no-joins 세계에서 어떻게 동작하는지 알아야하지만)

-4

앱 엔진을 만지지 마십시오.

Google이 규칙을 변경하면 앱을 제작하는 데 드는 시간과 노력이 손실 될 수 있습니다. AppEngine에 대한 무언가가 마음에 들지 않는다면 AppEngine은 적절합니다. 앱을 가져 와서 다른 곳에서 실행할 수는 없습니다. Google은 자선 단체가 아닙니다. 작은 사소한 문제에 대한 우려로 인해 규칙을 바꿀 것입니다. 그것은 가장 최악의 종류의 잠금 장치입니다 ...

0

글을 쓰는 시점에서 대부분의 장고 기능은 Google Appengine Patch 프로젝트의 도움으로 GAE에 포팅되었습니다.

아직 Django의 모델 지원이 아니었던 메인은 GAE db 모델을 사용해야합니다. 그러나 그렇게 많은 상처를주지는 않습니다.

그냥 Appengine-Patch을 가져 와서 사용해보십시오.

관련 문제