นางเอกเป็นโครงการหลามที่สร้างหน้า XHTML จากแม่แบบที่เขียนใน TAL, Zope แม่แบบแสดงที่มาของภาษา & nbsp;. มันถูกออกแบบมาเพื่อลดการซ้ำซ้อนรหัสให้เป็นศูนย์
แพคเกจที่มีทั้งแอปพลิเค WSGI นางเอกทำงานเช่นเดียวกับการจัดการขอ mod_python โมดูลหลามสำหรับเว็บเซิร์ฟเวอร์ Apache2
ไฟล์เอกสารที่อ้างถึงข้างล่างนี้สามารถพบได้ในไดเรกทอรีแพคเกจตามด้วยหมายเลขของ doctests สำหรับโมดูล
จุดเข้า
หลังจากที่คุณติดตั้งนางเอกและเขียนบางแม่วิธีการที่คุณสามารถทำให้มันทำให้หน้าเว็บ?
ใช้นางเอกกับอาปาเช่
แพคเกจหลามมี ophelia.modpython โมดูลที่ให้จัดการตามคำขอสำหรับโมดูล Apache mod_python
ใช้นางเอกเป็นโปรแกรม WSGI
นางเอกกำหนดระดับการประยุกต์ใช้สอดคล้องกับมาตรฐาน WSGI, PEP 333: ophelia.wsgi.Application คุณสามารถทดลองใช้งานได้โดยการทำงานของตัวเองเซิร์ฟเวอร์ HTTP wsgiref ตามนางเอกหรือเรียกใช้โดยเซิร์ฟเวอร์ใด ๆ WSGI คุณอาจสนใจที่จะใช้
เซิร์ฟเวอร์ wsgiref ที่ใช้ติดตั้งเป็นที่ปฏิบัติการนางเอก-wsgiref ถ้านางเอกถูกติดตั้งเป็นไข่กับ "wsgiref" พิเศษที่เปิดใช้งาน สคริปต์ที่จุดเริ่มต้นของมันคือ ophelia.wsgi.wsgiref_server
การถ่ายโอนข้อมูลหน้าเดียวเพื่อ stdout
ปฏิบัติการที่มีการติดตั้งเสมอกับไข่นางเอกเป็นนางเอกถ่ายโอนข้อมูล สคริปต์นี้มีนางเอกทำให้การตอบสนองที่สอดคล้องกับเส้นทางที่คุณระบุและพิมพ์ไปยัง sys.stdout, ตัวเลือกที่มีส่วนหัวของ HTTP จุดเริ่มต้นของสคริปต์เป็น ophelia.dump.dump
สคริปต์ทั้งให้คำแนะนำการใช้งานบางอย่างเมื่อเรียกว่ามีตัวเลือก --help พวกเขาอ่านแฟ้มการกำหนดค่า; เห็น CONFIGURATION.txt สำหรับรายละเอียด
สิ่งที่ชนิดของเว็บไซต์เป็นสิ่งที่ดีสำหรับนางเอก?
เนื้อหาแบบคงที่
พิจารณาเป็นนางเอก SSI กับยาเสพติด มันไม่ได้แตกต่างกันลึกซึ้งเพียงจำนวนมากเป็นมิตรและมีความสามารถมากขึ้น
ใช้นางเอกสำหรับเว็บไซต์ที่คุณเขียน HTML โดยทั่วไปของคุณด้วยตัวเองยกเว้นว่าคุณต้องเขียนสิ่งที่เกิดขึ้นเพียงครั้งเดียว ลดการซ้ำซ้อนกับศูนย์มาในราคา: เว็บไซต์ของคุณต้องเป็นไปตามรูปแบบสำหรับนางเอกที่จะรวมแม่แบบของคุณทางที่ถูกต้อง
พิจารณารูปแบบของเว็บไซต์ของคุณจะเป็นลำดับชั้น: มีลักษณะร่วมกันกับทุกหน้าเว็บของคุณส่วนที่มีลักษณะบางอย่างและแต่ละหน้ามีเนื้อหาที่ไม่ซ้ำ มันเป็นสิ่งสำคัญที่จะนางเอกที่สะท้อนให้เห็นถึงลำดับชั้นนี้ในองค์กรระบบแฟ้มของเอกสารของคุณ; วิธีการนวดและแม่จะอนุมานได้จากสถานที่ของพวกเขาในลำดับชั้นของไดเรกทอรี
เนื้อหาแบบไดนามิก
นางเอกทำให้ภาษา Python ที่มีอยู่รวมทั้งเนื้อหาแบบไดนามิก แฟ้มแม่แต่ละคนอาจรวมถึงสคริปต์หลาม สคริปต์หลามและแม่แบบที่เอื้อต่อการมีส่วนแบ่งหน้าตั้งค่าทั่วไปของตัวแปรในการปรับเปลี่ยนและการใช้งาน
รูปแบบเนื้อหาของนางเอกเป็นเรื่องง่ายมากและทำงานได้ดีที่สุดถ้าแต่ละวัตถุเนื้อหาที่คุณเผยแพร่คือมุมมองของตัวเองหน้ามันเป็นตัวแทน ถ้าคุณได้รับข้อมูลจากแหล่งข้อมูลภายนอกแล้ว (ฐานข้อมูลเช่นหรือพื้นที่เก็บข้อมูลการควบคุมเวอร์ชัน) ก็ยังคงตกลงที่จะใช้นางเอกแม้จะมีหลายมุมมองต่อวัตถุเนื้อหาตราบเท่าที่มุมมองของวัตถุไม่ได้ขึ้นอยู่กับชนิดของวัตถุหรือแม้กระทั่งวัตถุ ตัวเอง
พยายามที่จะใช้นางเอกบนเว็บไซต์ที่ซับซ้อนมากขึ้นจะนำไปสู่สิ่งกีดขวางที่น่าเกลียดของตรรกะและการนำเสนอ อย่าใช้นางเอกสำหรับเว็บไซต์ที่เป็นจริงการเชื่อมต่อเว็บเพื่อการใช้งานระบบการจัดการเนื้อหาและชอบ
วิธีนางเอกทำงาน
แฟ้มแม่แบบ
สำหรับคำขอแต่ละนางเอกมองหาจำนวนของไฟล์แม่แบบ มันต้องใช้ไฟล์เดียวชื่อ "__init__" จากแต่ละ directory บนเส้นทางจากรากเว็บไซต์ที่หน้าและสุดท้ายสำหรับหน้าตัวเอง คำขอถูกเสิร์ฟโดยนางเอกว่าที่แม่แบบสุดท้ายที่พบ
เมื่อสร้างหน้าแม่แบบของหน้าเว็บได้รับการประเมินและเนื้อหาของที่เก็บไว้ในสิ่งที่เรียกว่าสล็อตภายใน จากนั้นแต่ละแม่แบบในทางกลับจากหน้าไปยังรากได้รับการประเมินในการเปิดและอาจรวมถึงเนื้อหาปัจจุบันของสล็อตภายใน ผลที่ได้จะถูกเก็บไว้ในช่องด้านหลังในแต่ละขั้นตอน
ผลของการประมวลผลแม่แบบรากจะทำหน้าที่เป็นหน้า
สคริปต์หลาม
แฟ้มแม่แต่ละคนอาจเริ่มต้นด้วยสคริปต์หลาม ในกรณีที่สคริปต์ถูกแยกออกจากแม่แบบโดยเกิดขึ้นครั้งแรกของ " XML?>" แท็กในบรรทัดของตัวเอง (ยกเว้นช่องว่างทางซ้ายหรือขวา) หากแฟ้มแม่มีเพียงสคริปต์หลาม แต่ไม่จริงแม่แบบใส่ " XML?>" ในบรรทัดสุดท้ายของ
งูหลามสคริปต์จะดำเนินการในลำดับในขณะที่ภายในจากรากเว็บไซต์ที่หน้า พวกเขาจะทำงานใน namespace เดียวกันของตัวแปรที่ใช้ภายหลังเป็นบริบทการประเมินผลของแม่แบบ ตัวแปรที่กำหนดโดยสคริปต์งูใหญ่อาจจะถูกใช้และแก้ไขโดยสคริปต์ทำงานใด ๆ ในภายหลังเช่นเดียวกับการแสดงออก TALES ใช้ในแม่แบบ
namespace ที่จะเริ่มต้นโดยนางเอกกับตัวแปรเดียว __request__ ที่อ้างอิงคำขอวัตถุ ดังนั้นสคริปที่มีสิทธิ์เข้าถึงขอรายละเอียดและสำรวจเส้นทาง internals นอกเหนือจากการตั้งค่าตัวแปรสคริปต์ยังอาจนำเข้าโมดูลกำหนดฟังก์ชั่นการเข้าถึงระบบไฟล์และโดยทั่วไปจะทำอะไรโปรแกรม Python สามารถทำได้
วิธีนางเอกพฤติกรรม
canonicalization URL และการเปลี่ยนเส้นทาง
ถ้านางเอกพบ URL ที่สอดคล้องกับไดเรกทอรีมันจะทำงานคล้าย ๆ กับอาปาเช่ในการกำหนดค่าเริ่มต้น: หาก URL ไม่ได้จบด้วยการเฉือนก็จะเปลี่ยนเส้นทางเบราว์เซอร์เพื่อเพิ่มเฉือน หากเฉือนจะมีก็จะพยายามที่จะหาแม่แบบชื่อ index.html โดยค่าเริ่มต้นและทำให้มันเป็นไดเรกทอรี "ดัชนี"
ทั้งนี้ขึ้นอยู่กับการกำหนดค่าการร้องขออย่างชัดเจนสำหรับหน้าดัชนีไดเรกทอรีอาจจะเปลี่ยนเส้นทางไปยัง URL ไดเรกทอรีเปลือยโดยไม่ต้องส่วนเส้นทางสุดท้าย นี้จะเปิด
นอกจากนี้นางเอก canonicalizes URL ที่มีส่วนเส้นทาง "." และ ".. " ตาม RFC 3986 เกี่ยวกับไวยากรณ์ URI ทั่วไปและเอาส่วนเส้นทางที่ว่างเปล่าที่ไม่ได้อยู่ที่จุดสิ้นสุดของเส้นทาง หาก URL ที่มีการเปลี่ยนแปลงตามกฎเหล่านี้นางเอกเปลี่ยนเส้นทางเบราว์เซอร์ตาม
จัดการ mod_python
Apache2 ประมวลผลการร้องขอในขั้นตอนซึ่งแต่ละสามารถจัดการโดยโมดูลเช่น mod_python นางเอกให้จัดการ mod_python สำหรับขั้นตอนการสร้างเนื้อหา หาก URL ที่ร้องขอมีการกำหนดค่าที่จะได้รับการจัดการโดยนางเอกจัดการพยายามที่จะหาแม่แบบที่เหมาะสมในระบบแฟ้มและสร้างหน้าจากพวกเขา
จัดการ mod_python นางเอกไม่เคยทำให้เกิดไฟล์ไม่พบข้อผิดพลาด HTTP แต่มันผ่านการควบคุมกลับไป Apache และโมดูลอื่น ๆ ถ้ามันพบว่ามันไม่สามารถสร้างทรัพยากรโดยเฉพาะอย่างยิ่ง Apache ตกกลับไปให้บริการเนื้อหาแบบคงที่จากดิสก์ในกรณีที่ นางเอกจึงสามารถติดตั้งอยู่ด้านบนของเว็บไซต์คงที่จะจัดการกับคำขอเพียงเหล่านั้นที่แม่อยู่ในไดเรกทอรีแม่แบบ
ต้องการ .
- หลาม
ความคิดเห็นที่ไม่พบ