2010-12-30 33 views
14

Khi sử dụng Django để tạo mẫu html làm cách nào để tạo định dạng đánh dấu html tốt.Tạo html có thể đọc được với các mẫu django

Tôi đang cố gắng sử dụng các khối nội dung. Nhưng các khối nội dung hiển thị ở các mức thụt lề khác nhau trong các mẫu khác nhau. Làm thế nào để có được các khối nội dung để hiển thị thụt vào như nó sẽ là nếu ai đó đã viết tay html.

Tôi gặp vấn đề tương tự với dòng mới; Tôi có thể đập vỡ tất cả các khối với nhau trong mẫu. Vào thời điểm đó html trông đẹp hơn, nhưng các mẫu không thể duy trì được.

Tôi đoán câu hỏi là làm thế nào để bạn tạo ra đánh dấu khá html với hệ thống templating django?

Tôi ngạc nhiên bởi câu trả lời cho đến nay. Tôi thấy rằng HTML hỗ trợ định dạng độc đáo trong việc viết CSS và JavaScript tương ứng. Cũng như làm cho nó dễ dàng hơn để thêm nội dung sau này.

+1

Tại sao bố cục HTML lại quan trọng? –

+1

Tôi muốn làm điều ngược lại một cách chính xác, nén HTML càng chặt càng tốt để nó có ít ký tự nhất có thể. –

+0

@rebus: Đồng ý - tải xuống nhỏ hơn nhanh hơn. Nó có vẻ như thời gian dành fussing với HTML là thời gian lãng phí.Đầu tiên, đó là thời gian lãng phí trong phát triển. Thứ hai, đó là thời gian lãng phí chuyển khoảng trắng. Thứ ba, đó là thời gian lãng phí trong bảo trì cố gắng để bảo tồn tất cả các khoảng trắng quý giá (và vô nghĩa). –

Trả lời

14

Christian S. Perone từ Pyevolve có exactly what you're looking for. Ông sử dụng phần mềm trung gian để chặn đối tượng HTTPResponse và chạy nó qua BeautifulSoup.

Tôi cho rằng trang web của bạn sẽ bị ảnh hưởng nhẹ. Tôi khuyên bạn nên chạy một số điểm chuẩn trước khi triển khai phần mềm trung gian này đến một trang web sản xuất.

0

Tôi khuyên bạn nên chạy ra của mẫu động cơ thông qua một HTML ngăn nắp, chẳng hạn như µTidylib.

1

Tính dễ đọc của HTML không quan trọng. Trong một hệ thống như Django hoặc Rails, HTML là một định dạng đầu ra, không phải là định dạng nguồn. Khi mọi người chỉnh sửa HTML bằng tay, họ có quyền quan tâm đến thụt đầu dòng và khoảng cách, vì đó là định dạng nguồn và ai đó sẽ phải chỉnh sửa nó trong tương lai. Nhưng đầu ra của các mẫu chỉ là: output. Trình duyệt không quan tâm đến sự thụt đầu dòng. Tại thời điểm này, chỉ những người đọc HTML là những người đang xem View - Source.

+0

Và người duy nhất làm điều đó có lẽ là người quản lý dự án của OP, người sẵn sàng đầu tư vài nghìn đô la để làm hài lòng đôi mắt của mình ;-) +1 –

+0

Điều này giả định rằng bạn không bao giờ nhìn vào đầu ra để thử và gỡ lỗi các mẫu. –

0

Nếu bạn đang sử dụng Django Templates để làm chuỗi định dạng của chuỗi dài nhưng đơn giản, bạn có thể sử dụng chuỗi ba trích dẫn Python với .format() trong chức năng def:

def templated_string(context_dict): 
    return '''This is an example 
of a long string across multiple lines. 
It can be used to format {something} for 
{name}'s own purposes, even though 
it looks funny in code'''.format(**context_dict) 

Sau đó, templated_string({'name': 'rileymat', 'something': 'whatever you want'}) thực hiện điều hợp lý. Bạn có thể tạo HTML thô theo cách đó ... mà sau đó có chính xác khoảng trắng bạn yêu cầu.

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