2012-11-01 20 views
12

Tôi đang sử dụng MongoDB làm cơ sở dữ liệu chính (và chỉ đến bây giờ) và vì google và liên kết nó cung cấp cho tôi đang bối rối giữa Django hoặc Kim tự tháp.mà python web framework (django hoặc django-norel hoặc kim tự tháp) để sử dụng khi MongoDB được sử dụng làm cơ sở dữ liệu

Tôi cảm thấy thoải mái với python nhưng không bao giờ thực hiện phát triển web trong python (tôi đã làm trong PHP). Bây giờ bởi vì tôi sẽ được sử dụng Mongo vì vậy tôi sẽ không sử dụng Django ORM sẽ lấy đi sự dễ dàng của người phát triển liên kết với Django?

Tôi mới sử dụng Django (chỉ một vài giờ) vì vậy tôi không chắc chắn những phần nào của khuôn khổ mà ORM ảnh hưởng. Hoặc tôi nên đi với django ngã ba django-norel với django mongodb engine (họ không chủ động duy trì mặc dù) hoặc tôi nên sử dụng kim tự tháp vì tôi có kế hoạch sử dụng jinja2 như lớp mẫu của tôi để làm cho 2 phần của django vô dụng với tôi.

Sau khi tháo các pin này ra khỏi django, nó vẫn còn đúng là nó là một khuôn khổ cho những người có thời hạn?

Lời khuyên?

+0

Kháng cáo giới tính chính của Django là ứng dụng quản trị, nó không thực sự hữu ích cho các cơ sở dữ liệu không quan hệ. Cũng xem xét Flask. –

+1

Chính xác những gì bạn muốn xây dựng? Nó sẽ là ngớ ngẩn để chọn một khuôn khổ chỉ vì kho dữ liệu dự định của bạn, khi có thể có các yếu tố quan trọng khác. –

+0

Tôi sẽ không sử dụng ORM hoặc công cụ mẫu, bạn không nên sử dụng Django. Bình làm âm thanh như một sự thay thế tuyệt vời. –

Trả lời

9

Tôi sẽ đề xuất giải pháp thay thế chưa được đề cập: Flask. Bình có một cộng đồng thực sự tuyệt vời (mặc dù nhỏ hơn so với Django) và có rất nhiều tiện ích mở rộng có sẵn cho tiện ích ứng dụng web phổ biến, trong số extensions directory.

Có một số phần mở rộng MongoDB cho Flask, giúp tích hợp MongoDB vào khung công tác, nhưng tôi cũng rất muốn giới thiệu mongoengine ORM. Một trong những người làm việc trên mongoengine đã phát hành một phần mở rộng cho tích hợp Flask, Flask-MongoEngine.

+0

Còn kim tự tháp thì sao? Tôi cũng đã nghe những điều tốt đẹp về nó. – lovesh

12

Một hoặc hai năm trước, tôi cũng đã được quyết định giữa django và kim tự tháp w/MongoDB để xây dựng một ứng dụng web hiệu suất cao. Cuối cùng tôi chọn Kim Tự Tháp:

Ưu điểm:

  • Pyramid là trọng lượng rất nhẹ cho một khuôn khổ chồng đầy đủ. Có một lượng nhỏ 'ma thuật' đang diễn ra dưới mui xe. Tôi đã có thể quấn đầu quanh tất cả các mảnh.
  • Nó không có ý kiến ​​như Django. Bạn có thể cắm và chơi bất kỳ công cụ tạo khuôn mẫu hoặc cơ sở dữ liệu nào bạn cần tương đối dễ dàng.
  • Tôi đã bị ấn tượng bởi các tiêu chuẩn hiệu suất giữa Kim tự tháp trên các khung công tác ngăn xếp đầy đủ khác.
  • Văn bằng hình trụ/kim tự tháp có độ bao phủ 100% và "chỉ trả tiền cho những gì bạn ăn" là hấp dẫn theo phong cách phát triển của riêng tôi.

Nhược điểm:

  • Cộng đồng đang phát triển, nhưng vẫn không phải là trưởng thành như Django
  • Có rất nhiều tài liệu, nhưng nó không phải là mạnh mẽ như một số các tài liệu Django ngoài kia
  • Việc thiếu tài liệu 'ma thuật' và tài liệu thân thiện với người mới bắt đầu làm cho một đường cong học tập dốc hơn.

Để sử dụng ORM với MongoDB; Tôi khuyên bạn nên thử xây dựng mà không có một lúc đầu tiên. Sau khi thử một vài ORMs mongodb, tôi đã kết thúc trở lại pymongo đơn giản với Colander hoặc Validictory để xác thực. Pymongo đã rất giống ORM, nhanh và linh hoạt. Tôi cảm thấy các lớp trừu tượng thêm đã lấy đi từ sự linh hoạt đó, và khiến tôi viết nhiều mã hơn là cần thiết.

+0

Bạn đã thử Flask chưa? Bởi vì một số người ở đây khuyên bạn nên Flask tôi đọc về Flask quá. Có vẻ như Pyramid và Flask đều theo triết lý tương tự của plug and play. – lovesh

+4

Tôi đã không vượt qua một ứng dụng thử nghiệm nhỏ với Flask. Sự hiểu biết của tôi là các khung vi mô như Flask và Bottle tập trung vào các ứng dụng web nhỏ hơn và trở nên khó sử dụng khi ứng dụng trở nên lớn và phức tạp hơn: http://pyramid.readthedocs.org/en/1.0-branch/designdefense.html#microframeworks- nhỏ hơn-hello-thế giới. Ngoài ra, có một video mới với Chris McDonough đi sâu vào sự khác biệt giữa django và kim tự tháp http://youtu.be/eN7h6ZbzMy0. –

Các vấn đề liên quan