2012-07-25 45 views
11

Tôi muốn điền mẫu HTML có dữ liệu từ Python. Mặc dù tôi không biết bất kỳ HTML nào, một đồng nghiệp của tôi sẽ chuẩn bị mẫu HTML trong khi tôi cung cấp dữ liệu. Tuy nhiên, anh ta chỉ biết rất ít về Python.Mẫu HTML đơn giản trong Python

Bạn có thể đề xuất một khuôn mẫu mẫu cơ bản để xử lý việc tách HTML và Python độc đáo (tức là không có nhiều cú pháp đặc biệt trong HTML; và không có nhiều HTML để tôi biết trong mã dữ liệu Python)? Lý tưởng nhất là mẫu HTML phải rất gần với HTML thuần túy.

Tôi cũng sẽ có bảng dưới dạng dữ liệu, vì vậy sẽ rất tuyệt nếu tôi không phải chuẩn bị mã bảng HTML, nhưng thay vào đó, anh ta có thể làm điều đó với một số logic đánh dấu tối thiểu. Lý tưởng nhất là hệ thống sẽ hoạt động ngay cả khi đồng nghiệp của tôi áp dụng các khái niệm nâng cao hơn như CSS.

Tôi đã tìm thấy extensive list, nhưng thật khó để đánh giá hệ thống nào gần nhất với yêu cầu của tôi vì tôi không biết ngôn ngữ kỹ thuật.

EDIT: vấn đề là chúng tôi là người mới với điều đó, và chúng tôi chỉ cần một giải pháp cơ bản :) - nhưng lý tưởng không có HTML cho tôi và không vượt quá HTML đơn giản cho anh ta.

+1

Mẫu trang Chameleon và Zope (cả hai đều thực hiện cùng một ngôn ngữ thuộc tính) cung cấp điều này; phân tách rõ ràng và các mẫu vẫn hoạt động trong trình duyệt không được cập nhật. Rất tiếc, loại câu hỏi này không phù hợp với định dạng của trang web này, xem [FAQ # dontask]. Những câu hỏi như thế này có xu hướng dẫn đến những câu trả lời mơ hồ cũng đã lỗi thời rất nhanh. Nếu chúng tôi có thể giúp bạn với một vấn đề cụ thể, hãy đăng câu hỏi khác! –

+0

Cảm ơn bạn đã giải thích. Các yêu cầu cụ thể mà nó nên được dễ dàng để thiết lập cho người mới hoàn thành nên hạn chế các câu trả lời có thể ... cung cấp tất cả mọi người đọc tất cả các câu hỏi. Tôi không biết làm thế nào để cải cách nó: ( – Gerenuk

+1

Ngoài ra bạn có thể xem "Mako" và "Jinja2" .Nếu bạn cần nhiều hơn chỉ là trình kết xuất HTML hãy xem Flask (nó rất nhỏ và cung cấp tích hợp tốt đẹp cho Jinja và Mako) – javex

Trả lời

11

Vâng django có công cụ tạo khuôn mẫu rất đẹp, mục đích là tách HTML khỏi logic python

Nếu mẫu của bạn là thực sự dễ dàng (không vòng), bạn có thể sử dụng bản python string.format chức năng (tôi đã sử dụng nó trong một dự án bên đó tạo ra tập tin cấu hình để một số mã Fortran, và nó cũng không đến nỗi xấu).

Lựa chọn khác có thể là jinja2 thực sự gần với mẫu django, nhưng độc lập và mạnh mẽ hơn.

+0

Cảm ơn.định dạng địa chỉ đơn giản cần thiết, tuy nhiên nó có thể là quá đơn giản, vì tôi vẫn sẽ phải tạo ra đánh dấu bảng HTML ở phía Python. Đó là lý do duy nhất khiến tôi không đi giải pháp đơn giản nhất. – Gerenuk

+1

Đi cho jinja2 sau đó. –

2

Tôi có thể đề xuất xem xét web2py không? Ở mức cơ bản nhất, bạn có thể đơn giản có đồng nghiệp của bạn tạo tệp html sau đó khi bạn cần dữ liệu thay thế bằng {{= var}}, var có thể được truy xuất bằng bộ điều khiển web2py được viết bằng hàm python. Từ chức năng bạn có thể đặt cùng dữ liệu của bạn và trả về dạng xem html với "return dict (var = var)".

Nếu nhìn của bạn trông như thế này:

<html> 
    <head> 
     <title>some title</title> 
    </head> 
    <body> 
     <h1>{{=message}}</h1> 
    </body> 
</html> 

Bộ điều khiển có thể trông như thế này:

def index(): 
    message = "Hello World" 
    return dict(message=message) 

Bạn cũng có thể sử dụng django, như khác đã đề cập nhưng kiểm tra liên kết đối với một số web2py documentation

+0

Nếu OP cũng đang tìm bộ điều khiển (không chỉ động cơ templating) Tôi khuyên bạn nên sử dụng django. –

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