it-swarm-ko.tech

좋은 경량 Python MVC 프레임 워크는 무엇입니까?

나는 많은 Python 프레임 워크가 있음을 알고 있습니다. 여러분은 올바른 방향으로 나를 가리킬 수 있습니까? 내 주요 관심사는 단순성입니다. 내가 원하거나 원하지 않는 다른 것들 :

  • oRM을 신경 쓰지 말고 MySQL과 작동하도록하십시오.
  • 구성 가능한 경로가 있습니다
  • 레이아웃을 지원합니다
71
jon

web2py 는 265KB의 소스 코드와 1.2MB를 모두 포함합니다 (Django의 4.6MB와 비교). 그러나 web2py는 필요한 모든 작업 (세션 관리, 쿠키, 요청, 응답, 캐시, 국제화, 오류/티켓, GAE, SQLite, MSSQL, MySQL, Postgres, Oracle, FireBird 등의 데이터베이스 추상화)을 수행합니다. -압축을 풀고 클릭하면 브라우저에서 개발할 수 있습니다.

Web2py에는 경로와 역방향 경로가 있습니다.

Web2py에는 계층 적 템플릿 시스템이있어 뷰가 다른 레이아웃을 확장 할 수있는 레이아웃을 확장 할 수 있습니다. 뷰에는 다른 뷰가 포함될 수도 있습니다.

44
massimo

명시 적으로 ORM을 원하지 않기 때문에 내가 당신이라면 "풀 스택"프레임 워크에서 멀어 질 것입니다. Python의 WSGI 표준은 필요한 기능 만 제공하고 작업 스타일을 선택할 수있는 사용하기 쉬운 수많은 옵션을 제공합니다.

URL 디스패치의 경우 Routes 를 사용하면 URL 디스패치 스타일의 Rails를 포팅 할 수 있습니다. 또는 해당 스타일이 더 적합한 경우 선택기WebOb 을 결합 할 수 있습니다.

"레이아웃"의 경우 코드를 실행할 수없는 템플릿을 원하는 경우 강력한 Jinja2 를 사용할 수 있습니다. 또는 템플릿과 작은 코드를 혼합하려는 경우 MakoDeliverance 를 사용하여 여러 앱과 여러 언어로 구성된 페이지의 레이아웃을 제어 할 수도 있습니다!

풀 스택 웹 프레임 워크는 많은 선택을 할 수 있다는 점에서 멋지다. 건물에있는 앱에만주의를 기울일 수있다. 그러나 위에 나열된 선택 사항은 자신의 건물을 만들 수있는 훌륭한 컬렉션입니다. 해당 경로를 따라 가면 캐싱 및 세션에 필요한 경우 Beaker 를 연결하거나 디버깅에 도움이되도록 WebError 를 쉽게 연결할 수 있습니다.

개인적으로, 나는 ORM (특히 SQLAlchemy )의 열렬한 팬이지만 ORM을 자유롭고 가볍게 사용하려는 경우 Python에서 사용할 수있는 훌륭한 WSGI 구성 요소를 결합하는 것을 능가 할 수 없습니다.

31
Kevin Dangoor

시도해보십시오 web.py 매우 간단하며 원하는 미니멀리즘을 제공 할 수 있습니다.

11
Dimitry Z

파일론

장고보다 훨씬 낫고 엉뚱한 ORM이 제공되지 않습니다.

9
habnabit

사람들은 이미 웹 애플리케이션 프레임 워크에 관해 많은 답변을했지만 MVC (또는 다른 패러다임)는 웹에만 국한되지 않습니다. 그것은 명확성을위한 것입니다.

일반 MVC를 사용하는 경우 Pylons는보다 엄격한 방식으로 패러다임을 준수합니다. Django MVC를 해석하고이를 model-template-view라고 부르지 만 역할 분리라는 아이디어는 동일합니다. 실제 선택은 개인적인 취향의 문제이지만,이 두 가지 중 어느 것도 고려하지 않지만 lightweigth (Pylon은 lighter라고 생각하지만 실제로는 그렇지 않습니다. Django 추가 무게를 모았습니다. 20MB의 상주 메모리에 개인 블로그와 같은 작은 응용 프로그램조차 적합하지 않을 것입니다).

물론, 예를 들어 자신 만의 프레임 워크를 작성하는 데 방해가되지 않습니다. WebOb 로. 원하는대로 light로 만들 수 있습니다 (그리고 많은 것들을 시도해보십시오).

8
zgoda

체크 아웃 https://github.com/salimane/bottle-mvc 또는 https://github.com/salimane/flask-mvc . 별도의 폴더에있는 컨트롤러, 모델을 시작할 수있는 상용구입니다. 그것들은 bottle과 flask micro frameworks, 쓸모없는 기능 없음)을 기반으로하며 원하는 모듈을 유연하게 플러그인 할 수 있습니다.

6

자신 만의 framework 을 만들지 않고 간단한 것을 원한다면 여전히 모든 것을 포함하지는 않지만 (Django) CherryPy 를 시도해 볼 수 있습니다. 거의 모든 dispatcher (페이지 핸들러/URL 라우팅 시스템)을 사용할 수 있습니다. 또한 자신의 템플릿 엔진을 선택해야 할 것입니다. Genshi 는 제가 가장 좋아하는 것입니다.

6
alif

데스크톱 응용 프로그램과 관련하여 Dabo 는 좋은 선택입니다. MySql, Postgresql, Firebird 및 Sqlite를 지원하는 wxPython 위에있는 크로스 플랫폼 프레임 워크입니다.

6
uwe

Web2py를 원합니다. 확인해 봐:

  • oRM을 신경 쓰지 말고 MySQL과 작동하도록하십시오.

Web2py에는 ORM이 없지만 SQL에 대한 구문 래퍼가있어 SQL을 훨씬 쉽게 수행 할 수 있습니다.

  • 구성 가능한 경로가 있습니다
  • 레이아웃을 지원합니다

... web2py에는이 두 가지가 있습니다.

그리고 web2py는 Django/Rails /보다 훨씬 가볍습니다. 배우기 매우 쉽습니다. MVC 프레임 워크를 배우는 데있어 가장 어려운 점은 스크립트, ORM 및 (장고와 함께) 템플릿 언어입니다. 그러나 web2py는 스크립트를 없애고 ORM을 단순화했으며 템플릿 언어는 python rad 똑똑한 방식으로)입니다.

5
toomim

장고!

Google App Engine에서 사용합니다.

나는 내 자신의 애완 동물 프로젝트에도 사용합니다.

4
Graviton

그렇습니다. Django는 확실히가는 길입니다. 모듈 형 디자인으로 구성 요소 (ORM, 템플릿 엔진, URL 디스패치 등)를 믹싱하고 일치시킬 수 있습니다.) 프레임 워크가 제공하는 구성 요소를 사용하면 대신 타사와 동등한 것으로 바꿀 수 있습니다.

4
Gabriel Ross

web2py! Django 컨트롤러를 뷰라고 부릅니다.

3
why

간단하게하려면 web2py 또는 pylons를 사용하십시오. Django 좋다 ...하지만 학습 곡선이 가파르다

3
BasicGuy

장고. 추가 기능을 사용하기 위해 have를 사용하지 않으며, 필요에 따라 타사 라이브러리를 혼합하여 일치시킬 수 있도록 잘 설계되었습니다.

2
John Millikin

Pylons ;를 살펴 보겠습니다. 가볍고 빠릅니다.

2
tholo

또한 Django 보트에 있습니다. 몇 가지 이유는 다음과 같습니다.

  • 수동 쿼리를 피하면 Django의 admin interface 로 시간을 절약 할 수 있습니다.
  • 장고의 템플릿 시스템 환상적입니다
  • Django는 WONDERFUL community 를 가지고 있으며, 매우 도움을 간절히 원합니다 (# -Django on freenode )
2
Ross

나는 정말 Python에 대해 조금 새로운 것을 시도했지만 몇 가지, 특히 Django and web2py)를 조용히 시도했습니다. 나는 web2py의 단순함을 좋아했습니다. DAL, 코드 생성, HTML hlpers와 같은 중요한 기능 세트가 있으며 가장 중요한 기능은 사이트의 문서가 매우 완벽하다는 것입니다.

2
user10917

Django 는 나의 추천입니다.

여기 소개 (Jacob Kaplan-Moss의 Google Tech Talk)를 찾을 수 있습니다.

그리고 DePaul University Snakes and Rubies에서 진행된 Adrian Holovaty의 강연 도 살펴보고 싶을 것입니다.

0
Nolan Evans