פיוטים בפייתון – מפתחים עם Djagno – חלק ב’

בפוסט הקודם ערכנו הכרות קצרה עם תשתית הפיתוח Djagno, הכתובה בפייתון. בין כל ההשוואות השאולות מהבר המקומי, כתב זהר ארד מעט על רכיביה השונים של התשתית, תוך התרכזות בעקרונות ה MTV אותם מיישמת Djagno. בפוסט זה הוא ממשיך לסקור את תמיכת Djagno במסדי נתונים, מנגנוני cache ולבחון את שפת תבניות התצוגה של Djagno.

django1בפוסט הראשון בסדרה, ערכנו הכרות קצרה עם תשתית הפיתוח Djagno, הכתובה בפייתון. בין כל ההשוואות השאולות מהבר המקומי, דיברנו מעט על רכיביה השונים של התשתית, תוך התרכזות בעקרונות ה MTV אותם מיישמת Djagno. בפוסט זה נמשיך לסקור את תמיכת Djagno במסדי נתונים, מנגנוני cache ולבחון את שפת תבניות התצוגה של Djagno.

פנינת תרגום לפני שמתחילים
בפינת התרגום התקופתית שלנו, נעברת את המונח cache למונח “אצירה”, מלשון אוצר, ולו משום שהמונח “מטמון” מזכיר קצת סדרת טלביזיה של החופש הגדול בשנות השמונים.

מסדי נתונים לגדולים ולקטנים
Djagno, בניגוד לכוסית הוויסקי (ריילס), תומכת רשמית במבחר מצומצם יותר של מסדי נתונים:

MySQL http://sourceforge.net/projects/mysql-python
Oracle http://cx-oracle.sourceforge.net/
Postgres http://www.pygresql.org/
SQLite – כלול בהתקנה של פייתון.

מידע נוסף אודות מסדי הנתונים הנ”ל ותמיכה לא רשמית במסדי נתונים נוספים ניתן למצוא ב http://docs.djangoproject.com/en/dev/ref/databases/

מנגנוני אצירה

כמו הרבה דברים ב Djagno, החלת מנגנוני אצירה על הפרוייקט שלנו הינה תהליך פשוט וקל.
ראשית, עלינו להגדיר ל Djagno באיזה מנגנון אצירה נרצה להשתמש. המנגנונים הזמינים הם:

1.    memcached – עבודה מול תהליך של memcache השומר את המידע האצור בזיכרון
2.    localmem – עבודה מול הזיכרון המקומי של המחשב (בניגוד ל memcache הזמין גם כשירות מרושת)
3.    מסד נתונים – אצירת מידע לטבלה במסד הנתונים של היישום
4.    דיסק קשיח – אצירת מידע לדיסק הקשיח של המחשב

לאחר שהגדרנו באיזה מנגנון אצירה נשתמש, עלינו לומר ל Djagno מה ברצוננו לאצור:

1.    אצירה של כל האתר – שיטה זו תיצור גירסאות סטטיות של התוכן בכל האתר שיוגש לדפדפן במקום התוכן הדינמי
2.    אצירה של View מסויים – שיטה זו תאצור את המידע ברמת View מסויים ותגישו במקום התוכן הדינמי
3.    אצירה של רכיב בתבנית – שיטה זו תאצור חלקים מוגדרים של תבנית התצוגה במקום להגישם כתוכן דינמי

בנוסף, נוכל כמובן להשתמש בממשק האצירה של Djagno כדי לאצור מידע הדרוש לנו להרצת היישום, כמו למשל מידע החוזר מפעולה כבדה על מסד הנתונים בו נרצה להשתמש בכמה מקומות שונים ביישום שלנו.

תבניות תצוגה ב Djagno

תבניות התצוגה ב Djagno אחראיות, כפי שמרמז שמן, על הצגת התוכן (לרוב HTML) של היישום שלנו, אחרי הכנתו ב View. למעשה, תבניות אלו אינן יכולות להכיל שום קוד לוגי ומאלצות את המפתח להפריד לחלוטין את תהליך הכנת התוכן מתהליך הצגתו. עיקרון זה מאפשר לאנשים שאינם בקיאים בתכנות ליצור תבניות תצוגה בקלות ובמהירות ומהווה יתרון חשוב בפרוייקטים גדולים, בהם יש לרוב מספר מפתחים האחראים על עבודת back-end ומספר מפתחים ומעצבים האחראים על עבודת front-end.

יתרון נוסף הגלום במגבלה הזו הוא שאי-היכולת להריץ קוד חישובי או לוגי בתבנית התצוגה, מאלץ את המפתח להוציא פעולות הדורשות חישוב או לוגיקה מחוץ לשכבת התצוגה. בגלל הנטייה המובנת לא לכתוב דברים פעמיים, התוצאה היא שפעולות אלו נשמרות במודולים חיצוניים לשימוש חוזר ותורמות לקוד יעיל, מסודר וקל יותר לתחזוק.

בחלק הבא נדבר על תהליך ההתקנה והפריסה של Djagno, ועד אז, פיוטים נעימים.

זהר ארד

בן 35, קיבוצניק שהדרים לעיר הגדולה, מפתח client-side בנשמתו (מטהקפה, קול הקמפוס 106fm ואחרים). משתמש מקינטוש מושבע (שחוטא גם בלינוקס בשעות הפנאי). מעדיף הכל פשוט, מינימליסטי ועובד טוב ומשתדל להמנע מדברים עם הלוגו של מיקרוסופט ונהגי מוניות כעסנים. אוהב הרבה Web, מתובלת בג’אווהסקריפט, HTML, CSS, פייתון ורובי, ספרים, פפאיות ומוזיקה מהחנות (בדיסק המקורי). מתנודד תדיר בין אקזיסטנציאליזם לאינדיבידואליזם ונכון להיום עדיין אוחז ב-fetish לא מוסבר לצבים.

הגב

1 תגובה on "פיוטים בפייתון – מפתחים עם Djagno – חלק ב’"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
trackback

[…] מוגברת RFID לכל נייד פיתוח בפייתון (חלק ב) מתויג כ: dorthy, seo, web 3.0, בינהמלאכותית, גוגל, חיפוש, […]

wpDiscuz

תגיות לכתבה: