פתח הבנה חזקה של התפקידים והתפקודים של פרויקטים ואפליקציות במסגרת Django.
ב-Django, אתה יכול להשתמש בשני רכיבים עיקריים כדי ליצור יישום אינטרנט; אפליקציות ופרויקטים. מפתחים משתמשים לפעמים במונחים אלה לסירוגין, למרות שיש להם משמעויות ופונקציות ברורות במסגרת האינטרנט של Django.
הבנת פרויקטי ג'נגו
ב-Django, פרויקט הוא מיכל ברמה העליונה עבור יישום האינטרנט שלך. פרויקט מכיל את התצורות עבור אפליקציית האינטרנט שלך ואפליקציה אחת או יותר, כל אחת מספקת סט ספציפי של פונקציונליות או תכונות עבור אפליקציית האינטרנט שלך. הוא מכיל גם רכיבים משותפים בין האפליקציות השונות שלו. בפרויקט Django, אתה יכול למצוא כלים וכלי עזר המקלים על ניהול יישום האינטרנט שלך, כגון תוכנית השירות של שורת הפקודה Django ושרת הפיתוח של Django.
רכיבים של פרויקט ג'נגו
פרויקט Django מכיל בדרך כלל אפליקציות שונות ואת התצורות של יישום האינטרנט שלך. בכל פעם שאתה יוצר פרויקט חדש, Django מייצר אוטומטית קבצים המכילים את התצורות הללו. הרכיבים הכלולים בפרויקט ג'נגו הם:
- הגדרות: מודול ההגדרות מכיל תצורות הדרושות לפרויקט שלך ולאפליקציות הבודדות בפרויקט שלך. מודול זה מכיל בעיקר אפשרויות תצורה כגון חיבור מסד הנתונים, תוכנת האמצע, האפליקציה המותקנת, המארחים המותרים ותצורות אחרות הדרושות כדי שאפליקציית האינטרנט שלך תפעל.
- כתובות אתרים: מודול כתובות האתרים מגדיר דפוס כתובת אתר עבור היישום שלך. כל דפוס כתובת אתר בפרויקט שלך יכול למפות לתבנית כתובת URL אחרת באפליקציה שלך או ישירות לפונקציית תצוגה שמטפלת בבקשה עבור כתובת האתר הספציפית. בין אם תבנית ה-URL ממופה לפונקציית תצוגה או לתבנית URL אחרת באפליקציה שלך, המטרה הסופית היא למפות אותה לתצוגה המטפלת בבקשה ביעילות.
- WSGI: מודול WSGI (ממשק שער שרת אינטרנט) הוא תקן Python עבור שרתי אינטרנט ויישומים. מודול WSGI מאפשר ל-Django לפעול על שרתים שונים.
- ASGI: מודול ASGI (Asynchronous Server Gateway Interface) מטפל בבקשות אסינכרוניות כגון חיבורי WebSockets. ASGI הוא תקן עבור שרתי אינטרנט אסינכרוניים לתקשורת עם יישומי אינטרנט של Python.
- רכיבים אחרים: לפעמים, תידרש להוסיף רכיבים משלך לפרויקט ה-Django שלך, בהתאם לדרישות היישום שלך. רכיבים אלה כוללים קבצים סטטיים, תבניות, קבצי מדיה ופקודות ניהול מותאמות אישית.
כיצד ליצור פרויקט ג'נגו
כדי ליצור פרויקט Django, עליך להשתמש ב- django-admin שירות שורת הפקודה. אתה יכול ליצור את פרויקט ה-Django שלך על ידי ביצוע השלבים הבאים:
- בממשק שורת הפקודה שלך, נווט אל הספרייה שבה ברצונך ליצור את פרויקט ה-Django שלך.
- התקן את Django עם מנהל החבילות pip.
התקנת pip django
- הקלד את הפקודה הבאה והפעל אותה:
django-admin startproject
הפקודה לעיל תיצור ספרייה כמו זו:
תבחין ביתירות בשמות ספריית הפרויקט שלך, כלומר, שם הפרויקט שלך מופיע פעמיים. אם אתה רוצה להיפטר מזה, אתה יכול להוסיף תקופה כאשר אתה מפעיל את שלך התחל פרויקט פקודה כזו:
django-admin startproject .
כעת, מבנה הפרויקט שלך ייראה כך:
עם השלבים לעיל, עליך ליצור בהצלחה פרויקט Django. ה manage.py הקובץ שנוצר בפרויקט שלך חשוב לאינטראקציה עם פרויקט ה-Django שלך.
הבנת אפליקציית Django
המטרה של אפליקציה היא לספק לפרויקט ה-Django שלך פונקציונליות ספציפית. אפליקציה עוזרת לך לארגן את בסיס הקוד שלך על ידי פירוק הפונקציונליות של הפרויקט שלך לרכיבים קטנים יותר.
לדוגמה, בפרויקט בלוג, תהיה לך אפליקציה המוקדשת לאימות והרשאה ועוד אחת המוקדשת לפוסטים בבלוג. אתה יכול ליצור אפליקציות מרובות על סמך הצרכים הספציפיים של הפרויקט שלך.
רכיבים של אפליקציית Django
אפליקציית Django מורכבת ממודולים הקשורים לפרויקט, כלומר, לתכונה ספציפית של האתר שלך. כמו בפרויקט, Django מייצר אוטומטית קבצים מועילים כשאתה יוצר אפליקציה. הקבצים שנוצרו על ידי Django כוללים את הדברים הבאים:
- views.py: קובץ זה יכיל את כל ההיגיון הדרוש לקבלת בקשות ושליחת תגובות. זה גם קובע איזו תבנית HTML לעבד בהתבסס על פעולות המשתמש באתר שלך.
- models.py: מודול זה קובע את מבנה הנתונים של האפליקציה שלך וקובע כיצד מסד הנתונים יאחסן אותם. הוא משתמש ב-ORM (מיפוי אובייקט-יחסי) של ג'נגו כדי להגדיר את הנתונים. רכיב המודלים מגדיר שונה קשרי מסד נתונים ב-Django.
- admin.py: מודול הניהול מגדיר את ממשק הניהול של אפליקציית Django שלך. עליך לרשום את הדגמים שלך בתוך קובץ הניהול. אם אתה זקוק לפונקציונליות ניהול נוספת מעבר לאלו שמספקת Django, תוכל להגדיר תצוגות מותאמות אישית עבור ממשק הניהול שלך במודול זה.
- urls.py: קובץ זה מגדיר את דפוסי ה-URL או המסלולים הייחודיים לאפליקציית Django מסוימת. לפעמים, Django לא מייצר אוטומטית את הקובץ הזה. אם זה קורה, אתה יכול ליצור אותו ידנית בספריית האפליקציה שלך.
Django מייצר כמה רכיבים אחרים, כגון apps.py ו tests.py. קבצים אלה מגדירים את תצורות האפליקציה שלך ומאפשרים לך לכתוב בדיקות יחידה בהתאמה.
כיצד ליצור אפליקציית Django
לפני יצירת אפליקציה, עליך ליצור פרויקט. לאחר שתיצור את הפרוייקט שלך, נווט אל הספרייה המכילה את manage.py קובץ והפעל את הפקודה הבאה בטרמינל שלך:
python manage.py startproject
הפקודה לעיל תיצור מבנה תיקיות כמו זה באותה רמת ספרייה כמו הפרויקט שלך:
ההבדל בין אפליקציה לפרויקט בג'נגו
ישנם כמה הבדלים ברורים בין פרויקט לאפליקציה ב-Django. כמה מהם מפורטים להלן.
שימוש חוזר בקוד
ב-Django, אפליקציה היא רכיב לשימוש חוזר באפליקציית האינטרנט שלך. משמעות הדבר היא שאם יש לך אפליקציה שמטפלת באימות משתמשים עבור פרויקט אחד, תוכל לעשות שימוש חוזר באותה אפליקציה בפרויקט אחר עם מעט או ללא שינויים. פרויקט, לעומת זאת, אינו ניתן לשימוש חוזר. ברגע שאתה יוצר פרויקט עבור יישום אינטרנט מסוים, לא תוכל להשתמש בו עבור יישום אחר.
היקף הפעולה
פרויקט פועל ברמה גבוהה יותר מאפליקציה מכיוון שהוא אחראי על התצורה והניהול הכוללים של האתר שלך. מצד שני, אפליקציה אחראית רק על תכונה או פונקציונליות ספציפית של האתר שלך.
מבנה תיקיות
ההבדל הברור ביותר בין אפליקציה לפרויקט הוא מבני התיקיות שלהם. פרויקט כולל בדרך כלל הגדרות וקובצי תצורה אחרים האחראים לשלומו של האתר שלך.
אפליקציה הבאה ארכיטקטורת ה-MVT של ג'נגו. הוא מכיל רק קבצים ותצורות האחראים לרווחתה של תכונה ספציפית באתר שלך.
הפרויקט והאפליקציה שלך עובדים יחד כדי ליצור אפליקציית אינטרנט טובה
למרות שלפרויקט ולאפליקציה שלך יש את הייחודיות שלהם, הם משמשים בסופו של דבר כדי להעניק לך חוויה חלקה בעת בניית האפליקציה שלך. אתה אמור להיות מסוגל לשלב גם את הפרויקט וגם את רכיבי האפליקציה כדי לבנות ולהתאים אישית את אפליקציית האינטרנט שלך. עם האפליקציה והפרויקט שלך במקום, אתה יכול להתחיל לבנות את האתר שלך עם Django.