2009-06-14 35 views
11

Tôi đang trong quá trình xây dựng một ứng dụng web bằng cách sử dụng cherrypy.Tôi nên sử dụng công nghệ mẫu nào với CherryPy?

Bạn khuyến nghị sử dụng công nghệ mẫu nào?

+1

huh? xác định "công nghệ xem"? Về mặt kỹ thuật "một trình duyệt" sẽ trả lời câu hỏi của bạn. – SpliFF

+0

Bạn có nghĩa là một động cơ templating? –

+0

wiki này là một chi tiết (và hy vọng cập nhật) câu trả lời cho câu hỏi của bạn. –

Trả lời

5

Bạn có nghĩa là Xem trong MVC không? Tôi khuyên bạn nên sử dụng công cụ tạo mẫu rất đẹp Jinja2.

5

Nếu bạn có nghĩa là một động cơ templating, tôi đã có một số thành công bằng cách sử dụng mako với cherrypy. Họ dường như chơi với nhau một cách độc đáo.

Mako cực kỳ dễ dàng để bắt đầu và tùy chỉnh, đó là, tôi giả sử, cũng là hai lý do chính của bạn để chọn cherrypy. Hướng dẫn chính thức của cherrypy cũng sử dụng mako và bạn có thể thấy simple sample application ở đó.

4

Tôi thích Cheetah.

+3

Tôi cũng thích nó, nhưng việc sử dụng $ cho các biến làm cho khó hơn bao gồm jQuery, Prototype, v.v., trong trang. Mặc dù hầu hết JS của bạn phải nằm trong các tệp .JS tĩnh, một số lúc nào cũng cần phải có trong HTML. – jpsimons

0

Ngoài ra còn có Genshi hướng dẫn của họ dựa trên sử dụng CherryPy

3

Tôi thích Genshi.

Một lý do mà tôi thích nó đơn giản là cú pháp XML trông sạch sẽ hơn với tôi khi trộn lẫn với HTML so với cú pháp cấp văn bản của các công cụ templating phổ biến khác. Ví dụ, thật tuyệt khi có thể dính vào một py: cho thuộc tính để xuất ra một bảng so với việc làm lộn xộn lộn xộn #if hoặc bất kỳ dòng nào.

Lý do khác là bởi vì nó dựa trên XML và xử lý HTML của bạn dưới dạng XML, nó đảm bảo rằng đánh dấu của bạn là đúng cú pháp - nghĩa là các thẻ được đóng và lồng nhau đúng cách, các ký tự đặc biệt được thoát đúng cách, v.v. các công cụ sẽ chỉ xử lý HTML của bạn dưới dạng văn bản và đầu ra bất cứ điều gì bạn cung cấp cho nó mà không cần kiểm tra santity bổ sung.

Những bất lợi chính của Genshi là nó chậm hơn nhiều so với các công cụ dựa trên văn bản nhanh hơn. Tuy nhiên, hiệu suất của nó phải đủ tốt cho hầu hết các trang web. Trừ khi bạn có một trang web có nhu cầu đặc biệt để hiển thị văn bản/HTML với tốc độ cực nhanh, khả năng đọc và kiểm tra cú pháp mà Genshi cung cấp có thể lớn hơn hiệu suất đạt được.

+0

Đây là một bản tóm tắt tốt, và phù hợp với tình cảm của tôi.Điều duy nhất tôi có thể thêm là bởi vì cú pháp _uses_ XHTML thay vì chỉ đơn giản là tạo ra nó, thậm chí các khuôn mẫu chưa được xử lý có thể được sử dụng trực tiếp bởi các công cụ XML và XHTML khác. Một số mẫu thậm chí có thể được mở trực tiếp trong trình duyệt và xem trước. Hơn nữa, bởi vì đó là XML chính xác, các mẫu có thể dễ dàng được tạo ra bởi các công cụ khác hoặc được sử dụng để tạo mẫu cho các công cụ khác. Tôi đã sử dụng Genshi để tạo ra các trang JSPX, và nó không đau và thanh lịch. –

2

A Zen master có lẽ sẽ trả lời: "Có".

Nếu bạn đang xây dựng một giao diện web, tôi sẽ chọn một công cụ cung cấp các mẫu đánh dấu có thể đọc được như Genshi.

Nếu bạn đang xây dựng một máy chủ còn lại và cần trả lại các loại dữ liệu khác, tôi sẽ sử dụng một trong các công cụ định hướng văn bản hơn như Cheetah hoặc Mako.

Để xây dựng trang HTML, tôi thích Genshi hơn Cheetah hoặc Mako ngay cả khi nó hơi chậm hơn một chút. Khi trả về JSON, tôi thích sử dụng các công cụ dựa trên văn bản nhanh hơn.

Và bởi vì Cherrypy là động cơ bất khả tri, bạn có thể sử dụng cả hai nếu bạn cần.

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