Ophelia

Phần mềm chụp màn hình:
Ophelia
Các chi tiết về phần mềm:
Phiên bản: 0.3.5
Ngày tải lên: 15 Apr 15
Nhà phát triển: Thomas Lotze
Giấy phép: Miễn phí
Phổ biến: 5

Rating: nan/5 (Total Votes: 0)

Ophelia là một dự án Python tạo trang XHTML từ các mẫu viết bằng TAL, Mẫu Zope thuộc tính Language & nbsp;. Nó được thiết kế để giảm mã lặp lại không.
Các gói phần mềm có chứa cả một ứng dụng WSGI chạy Ophelia cũng như xử lý yêu cầu cho mod_python, các mô-đun Python cho máy chủ web Apache2.
Các file tài liệu được trích dẫn dưới đây có thể được tìm thấy bên trong các gói thư, cùng với một số doctests cho các mô-đun.
Điểm Entry
Sau khi bạn cài đặt Ophelia và đã viết một số mẫu, làm thế nào bạn có thể làm cho nó render các trang web?
Sử dụng Ophelia với Apache
Các gói Python chứa một ophelia.modpython module cung cấp một trình xử lý yêu cầu cho các mô-đun mod_python Apache.
Sử dụng Ophelia như một ứng dụng WSGI
Ophelia định nghĩa một lớp ứng dụng phù hợp với các tiêu chuẩn WSGI, PEP 333: ophelia.wsgi.Application. Bạn có thể thử bằng cách chạy của máy chủ HTTP wsgiref dựa trên Ophelia hoặc chạy nó bằng bất kỳ máy chủ WSGI bạn có thể quan tâm đến sử dụng.
Các máy chủ dựa trên wsgiref được cài đặt như là Ophelia-wsgiref thực thi nếu Ophelia được cài đặt như một quả trứng với "wsgiref" thêm được kích hoạt. Điểm vào kịch bản của nó là ophelia.wsgi.wsgiref_server.
Dump trang duy nhất để thiết bị xuất chuẩn
Một thực thi mà luôn luôn được cài đặt với các trứng Ophelia là Ophelia-dump. Kịch bản này có Ophelia làm cho phản ứng tương ứng với đường dẫn mà bạn chỉ định, và in nó để sys.stdout, tùy chọn với tiêu đề HTTP. Điểm nhập của kịch bản là ophelia.dump.dump.
Cả hai kịch bản cung cấp một số hướng dẫn sử dụng khi được gọi với các tùy chọn --help. Họ đọc một tập tin cấu hình; thấy CONFIGURATION.txt để biết chi tiết.
Những loại trang web này là Ophelia tốt không?
Nội dung tĩnh
Hãy xem xét Ophelia như SSI vào ma túy. Đó là về cơ bản không khác nhau, thân thiện hơn rất nhiều và chỉ có khả năng hơn.
Sử dụng Ophelia cho các trang web mà bạn viết về cơ bản HTML của bạn mình, ngoại trừ việc bạn cần viết những thứ định kỳ một lần. Giảm lặp lại để không đi kèm với một mức giá: trang web của bạn phải theo một khuôn mẫu cho Ophelia để kết hợp các mẫu của bạn đúng cách.
Hãy xem xét bố trí trang web của bạn để có thứ bậc: có một cái nhìn chung cho tất cả các trang của bạn, phần có đặc điểm nhất định, và mỗi trang có nội dung độc đáo. Nó rất quan trọng để Ophelia rằng hệ thống phân cấp này phản ánh trong việc tổ chức hệ thống tập tin của tài liệu của bạn; cách kết hợp các mẫu được rút ra từ địa điểm của họ trong hệ thống phân cấp thư mục.
Nội dung động
Ophelia làm cho ngôn ngữ Python có sẵn cho bao gồm cả nội dung động. Mỗi tập tin mẫu có thể bao gồm một kịch bản Python. Kịch bản Python và mẫu đóng góp cho một phần trang một tập hợp chung của các biến để chỉnh sửa và sử dụng.
Mô hình nội dung của Ophelia là rất đơn giản và hoạt động tốt nhất nếu mỗi đối tượng nội dung bạn xuất bản là quan điểm riêng của nó: các trang mà nó được biểu diễn trên. Nếu bạn nhận được nội dung từ nguồn lực bên ngoài nào (ví dụ như một cơ sở dữ liệu hoặc một kho kiểm soát phiên bản), nó vẫn còn OK để sử dụng Ophelia ngay cả với nhiều lượt xem mỗi đối tượng nội dung miễn là quan điểm của một đối tượng không phụ thuộc vào kiểu của đối tượng hoặc thậm chí các đối tượng chính nó.
Cố gắng sử dụng Ophelia trên một trang web phức tạp hơn sẽ dẫn đến một sự rối xấu xí của logic và trình bày. Không sử dụng Ophelia cho các trang web thực sự là giao diện web cho các ứng dụng, các hệ thống quản lý nội dung và các loại tương tự.
Làm thế nào Ophelia làm việc
File Template
Đối với mỗi yêu cầu, Ophelia sẽ cho một số file mẫu. Phải mất một tập tin có tên "__init__" từ mỗi thư mục trên đường đi từ gốc trang web vào trang, và cuối cùng cho các trang riêng của mình. Các yêu cầu được phục vụ bởi Ophelia nếu đó mẫu cuối cùng được tìm thấy.
Khi xây dựng các trang, khuôn mẫu của trang được đánh giá và nội dung của nó được lưu trữ trong những gì được gọi là khe cắm bên trong. Sau đó, mỗi mẫu trên đường trở về từ các trang vào thư mục gốc được đánh giá lần lượt, và có thể bao gồm các nội dung hiện tại của khe bên trong. Kết quả được lưu trữ trong các khe bên trong sau từng bước.
Kết quả của việc xử lý các mẫu gốc được phục vụ như trang.
Kịch bản Python
Mỗi tập tin mẫu có thể bắt đầu với một kịch bản Python. Trong trường hợp đó, kịch bản được tách ra từ các mẫu bởi sự xuất hiện đầu tiên của một "" Từ khóa trên một dòng riêng của mình (trừ khoảng trắng bên trái hoặc bên phải). Nếu các tập tin mẫu chỉ chứa một kịch bản Python nhưng không thực sự là một mẫu, đặt "" Ở dòng cuối cùng của nó.
Kịch bản Python được thực hiện theo thứ tự trong khi vượt qua từ gốc trang web vào trang. Họ đang chạy trong cùng không gian tên của các biến mà sau đó được sử dụng như là bối cảnh đánh giá của các mẫu. Biến được thiết lập bởi một kịch bản Python có thể được sử dụng và sửa đổi bởi bất kỳ kịch bản chạy sau, cũng như bởi TALES ngữ được dùng trong các mẫu.
Các không gian tên được khởi tạo bởi Ophelia với một biến duy nhất, __request__, tham chiếu đến đối tượng yêu cầu. Như vậy, các kịch bản có thể truy cập đến các chi tiết yêu cầu và ruột traversal. Ngoài các biến thiết lập, kịch bản cũng có thể nhập các mô-đun, xác định chức năng, truy cập vào hệ thống tập tin, và nói chung là làm bất cứ điều gì một chương trình Python có thể làm.
Làm thế nào Ophelia xử
Canonicalization URL và chuyển hướng
Nếu Ophelia gặp một URL tương ứng với một thư mục nó cư xử tương tự với Apache trong cấu hình mặc định của nó: Nếu các URL không kết thúc với một dấu gạch chéo, nó sẽ chuyển hướng trình duyệt để thêm dấu gạch chéo. Nếu các dấu gạch chéo là ở đó, nó sẽ cố gắng để tìm thấy một mẫu tên là index.html theo mặc định, và làm cho nó như là thư mục "index".
Tùy thuộc vào cấu hình, yêu cầu rõ ràng cho các trang chỉ số thư mục có thể được chuyển hướng đến trần URL thư mục mà không có sự phân khúc con đường cuối cùng. Điều này sẽ biến thành .
Ngoài ra, Ophelia canonicalizes URL có chứa các đoạn đường "." và ".." theo RFC 3986 vào chung cú pháp URI, và loại bỏ các đoạn đường trống mà không phải là ở cuối con đường. Nếu các URL được thay đổi bởi các quy tắc, Ophelia chuyển hướng trình duyệt cho phù hợp.
Việc xử lý mod_python
Apache2 xử lý một yêu cầu trong giai đoạn, mỗi trong số đó có thể được xử lý bởi các module như mod_python. Ophelia cung cấp một handler mod_python cho giai đoạn phát sinh nội dung. Nếu một URL được yêu cầu cấu hình để được xử lý bởi Ophelia, việc xử lý sẽ cố gắng để tìm mẫu thích hợp trong hệ thống tập tin, và xây dựng một trang từ họ.
Handler mod_python Ophelia không bao giờ gây ra một File Not Found lỗi HTTP. Thay vào đó, nó sẽ chuyển điều khiển trở lại Apache và các module khác nếu nó tìm thấy nó không thể xây dựng một nguồn tài nguyên đặc biệt. Apache rơi trở lại để phục vụ nội dung tĩnh từ đĩa trong trường hợp đó. Ophelia do đó có thể được cài đặt trên đầu trang của một trang web tĩnh để xử lý chỉ là những yêu cầu mà các mẫu tồn tại trong thư mục template

Yêu cầu .

  • Python

Phần mềm khác của nhà phát triển Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

tl.testing
tl.testing

15 Apr 15

Ý kiến ​​để Ophelia

Bình luận không
Nhập bình luận
Bật hình ảnh!