Ophelia

צילום מסך תוכנה:
Ophelia
פרטי תוכנה:
גרסה: 0.3.5
טען תאריך: 15 Apr 15
מפתחים: Thomas Lotze
רשיון: ללא תשלום
פופולריות: 5

Rating: nan/5 (Total Votes: 0)

אופליה היא פרויקט Python שיוצר דפי XHTML מתבניות נכתבו בTAL, תבנית Zope תכונה שפה & nbsp;. זה נועד כדי להפחית את חזרת קוד לאפס.
החבילה מכילה גם יישום WSGI פועל אופליה כמו גם מטפל בקשה לmod_python, מודול פייתון לשרת האינטרנט Apache2.
ניתן למצוא קבצי תיעוד מובאים להלן בתוך ספריית החבילה, יחד עם מספר doctests למודולים.
נקודות כניסה
לאחר שהתקנת את אופליה וכתבתי כמה תבניות, איך אתה יכול לעשות את זה הופך את דפי אינטרנט?
השתמש אופליה עם Apache
חבילת Python מכילה ophelia.modpython מודול המספק מטפל בקשה למודול mod_python Apache.
השתמש אופליה כיישום 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__" מכל ספרייה בדרך משורש האתר לדף, ואחד סופי לדף עצמו. הבקשה מוגשת על ידי אופליה אם כי התבנית סופית נמצאת.
בעת בניית הדף, התבנית של הדף מוערכת והתוכן שלה מאוחסן במה שמכונה החריץ הפנימי. ואז כל תבנית בדרך חזרה מהעמוד לשורש מוערך בתורו והוא עשוי לכלול התוכן הנוכחי של החריץ הפנימי. התוצאה מאוחסנת בחריץ הפנימי לאחר כל שלב.
התוצאה של עיבוד תבנית השורש מוגשת כדף.
תסריטי פייתון
כל קובץ תבנית יכול להתחיל עם סקריפט פייתון. במקרה זה, את התסריט מופרד מהתבנית על ידי את המופע הראשון של "" תג על קו משלו (פרט לרווחים שמאלה או ימינה). אם קובץ התבנית מכיל רק סקריפט פייתון אבל לא ממש תבנית, לשים "" בשורה האחרונה שלה.
תסריטי פייתון מבוצעים במטרה תוך התגברות על משורש האתר לדף. הם מנוהלים באותו המרחב של משתנים ששמש מאוחר יותר כהקשר ההערכה של התבניות. משתנים הנקבעים על ידי סקריפט פייתון ניתן להשתמש ושונים על ידי כל תסריטים לרוץ מאוחר יותר, כמו גם על ידי ביטויי TALES בשימוש בתבניות.
המרחב מאותחל על ידי אופליה עם אחת משתנה, __request__, שמפנה את אובייקט הבקשה. לפיכך, יש תסריטי גישה לפרטי בקשה וinternals חציה. בנוסף למשתני הגדרה, תסריטים יכולים גם לייבא מודולים, להגדיר פונקציות, לגשת למערכת הקבצים, ובאופן כללי לעשות כל דבר תכנית פייתון יכולה לעשות.
כיצד אופליה מתנהגת
קנוניזציה וניתוב מחדש של URL
אם אופליה מפגשי URL שמתאימה לספרייה שהוא מתנהג באופן דומה לאפצ'י בתצורת ברירת המחדל שלו: אם כתובת ה- URL אינה מסתיימת בקו נטוי, זה יהיה לנתב מחדש את הדפדפן כדי להוסיף הקו הנטוי. אם הקו הנטוי הוא שם, הוא ינסה למצוא תבנית בשם index.html כברירת מחדל, והופך אותה בשם "המדד" הספרייה.
בהתאם לתצורה, בקשות מפורשות לדפי אינדקס ספרייה עשויות להיות מנותבים לחשוף כתובות אתר ספרייה ללא מגזר הנתיב הסופי. זה יהפוך ל.
בנוסף, אופליה canonicalizes כתובות אתרים המכילים מקטעי נתיב "." ו" .. "על פי RFC 3986 על תחביר URI גנריות, ומסיר את מקטעי נתיב ריקים שאינם בסוף הדרך. אם כתובת האתר משתנה על-פי כללים אלה, אופליה מפנה את הדפדפן בהתאם.
מטפל mod_python
Apache2 מעבד בקשה בשלבים, כל אחד מהם יכול להיות מטופלים על ידי מודולים כגון mod_python. אופליה מספקת מטפל mod_python לשלב דור התוכן. אם כתובת אתר מבוקש מוגדר להיות מטופלים על ידי אופליה, המטפל מנסה למצוא תבניות מתאימות במערכת הקבצים, ולבנות דף מהם.
מטפל mod_python של אופליה לא גורם קובץ לא נמצא שגיאות HTTP. במקום זאת, הוא מעביר את השליטה חזרה לאפצ'י ומודולים אחרים אם מצא שדבר לא יכול לבנות משאב מסוים. Apache נופל חזרה להגשת תוכן סטטי מדיסק במקרה זה. ניתן להתקין אופליה כך על גבי אתר סטטי לטפל רק את אלה שבקשות לתבניות קיימות בספריית התבנית

דרישות :.

  • Python

תוכנות אחרות של יזם Thomas Lotze

tl.testing
tl.testing

15 Apr 15

tl.pkg
tl.pkg

15 Apr 15

תגובות ל Ophelia

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!