הקדמה
דג'נגו היא פלטפורמת אינטרנט חופשית וקוד פתוח הכתובה בשפת פייתון, שעיקרונות היסוד שלה הם קשיחות, ניתוב מחדש ופיתוח מהיר. היא גם ידועה באחידות ברמת הפריימוורק ובחיבור רפוי, שמאפשר לרכיבים הפרטיים להיות תלויים באחד זה.
במדריך זה, תגדיר סביבת דג'נגו לצורך פיתוח בשרת Ubuntu 22.04. לאתר חי, ישנן התייחסויות נוספות, כולל התחברות למסד נתונים, הגדרת שם דומיין והוספת שכבות של אבטחה. קיימים מגוון מדריכים על דג'נגו שיכולים לסייע לך במהלך הבנייה תחת תג ה-Django.
דרישות קדם
כדי להשלים מדריך זה, תצטרך:
-
חשבון משתמש לא ראשי עם הרשאות
sudo
, שתוכל להשיג על ידי ביצוע והשלמת התקנת השרת הראשונית עבור Ubuntu 22.04. -
התקנת Python 3 עם סביבת תכנות וירטואלית. תוכל לבצע את ההתקנה הזו דרך מדריך ההתקנה של Python 3.
שלב 1 — התקנת Django
ישנם מספר דרכים להתקין את Django, מנהל החבילות של Python, pip, בתוך סביבה וירטואלית.
כשאתה בתיקיית הבית של השרת, תיצור את התיקייה שתכיל את אפליקציית ה-Django שלך. הרץ את הפקודה הבאה כדי ליצור תיקייה בשם django-apps
, או שם אחר לבחירתך. לאחר מכן, נווט אל התיקייה.
כשאתה בתוך התיקייה django-apps
, צור את הסביבת הווירטואלית שלך. תקרא לה באופן כללי env
, אך עליך להשתמש בשם שמקובל עבורך ולפרויקט שלך.
כעת, הפעל את הסביבה הווירטואלית עם הפקודה הבאה:
תדעו שהופעל כאשר התחילים שונה ל־(env)
, וזה יראה דומה לכך, בהתאם לתיקייה בה אתה נמצא:
בתוך הסביבה, התקן את החבילה Django באמצעות pip. התקנת Django מאפשרת לנו ליצור ולהפעיל אפליקציות Django.
לאחר התקנה, ודא את התקנת Django על ידי הרצת בדיקת גרסה:
הפלט המתקבל יהיה משהו דומה לזה:
Output4.0.6
עם Django מותקן על השרת שלך, תוכל להמשיך ליצור פרויקט בדיקה כדי לוודא שהכל פועל כראוי. תיצור אפליקציית אינטרנט רקעית.
שלב 2 — התאמת הגדרות הגנת האש
אם עקבת אחר הוראות התקנה הראשוניות של השרת או יש לך חומת אש פועלת על השרת שלך, יהיה עליך לפתוח את היציאה שבה תשתמש בחומת האש של השרת. בחומת האש של UFW, תוכל לפתוח את היציאה באמצעות הפקודה הבאה:
אם אתה משתמש בחומות אש של DigitalOcean, תוכל לבחור את HTTP מתוך החוקים הנכנסים. ניתן לקרוא עוד על חומות האש של DigitalOcean ואיך ליצור חוקים עבורם על ידי שינוי ה-חוקים הנכנסים.
שלב 3 — התחלת הפרויקט
כעת תוכל ליצור אפליקציה באמצעות django-admin
, כלי שורת פקודה למשימות מנהל בפייתון. לאחר מכן, תוכל להשתמש בפקודת startproject
כדי ליצור את מבנה תיקיית הפרויקט עבור האתר הבדיקה שלך.
כאשר בתיקיית django-apps
, הפעל את הפקודה הבאה:
הערה: בהרצת הפקודה django-admin startproject <projectname>
, הפקודה תקרא לשני הספריות של הפרויקט ותיצור את הפרויקט בתיקייה בה נרצתה ההרצה. אם הפרמטר האופציונלי <destination>
מסופק, Django תשתמש בתיקיית היעד הספציפית כתיקיית הפרויקט, ותיצור manage.py
ואת חבילת הפרויקט בתוכה.
עכשיו תוכל לבדוק אילו קבצי פרויקט נוצרו לאחרונה. נווט אל תיקיית ה־testsite
ואז רשום את תוכן התיקייה כדי לראות אילו קבצים נוצרו:
Outputmanage.py testsite
תשימו לב לפלט שמציג ספרייה זו מכילה קובץ בשם manage.py
ותיקייה בשם testsite
. הקובץ manage.py
דומה ל־django-admin
ומכניס את חבילת הפרויקט ל־sys.path
. זה גם מגדיר את המשתנה הסביבתי DJANGO_SETTINGS_MODULE
כדי לציין את קובץ ההגדרות של הפרויקט שלך, settings.py
.
ניתן להציג את קובץ manage.py
בטרמינל שלך על ידי הרצת הפקודה less
כך:
כשתסיים לקרוא את הסקריפט, לחץ על q
כדי לצאת מהצפייה בקובץ.
עכשיו נווטו לתיקיית testsite
כדי לצפות בקבצים האחרים שנוצרו:
ואז הריצו את הפקודה הבאה כדי לרשום את תוכן התיקייה:
תראו ארבעה קבצים:
Output__init__.py asgi.py settings.py urls.py wsgi.py
ניתן לעבור על כל אחד מהקבצים הללו:
__init__.py
משמש נקודת הכניסה לפרויקט הפייתון שלך.asgi.py
מכיל את התצורה עבור האפשרות האופציונלית להפעלה לממשק השרת האסינכרוני או ASGI, שמספק תקן עבור אפליקציות שהן או סינכרוניות ואסינכרוניות, והיא נחשבת ליורשת של WSGI (ראה למטה).settings.py
מתאר את התצורה של ההתקנה שלך של Django ומאפשר ל־Django לדעת אילו הגדרות זמינות.urls.py
מכיל רשימתurlpatterns
, שמקבצת וממפה כתובות אתרים אל מבני הצפייה שלהם.wsgi.py
מכיל את התצורה עבור ממשק שרת השער האינטרנטי או WSGI, אשר מספק תקן עבור אפליקציות פייתון סינכרוניות.
הערה: אף על פי שקבצים ברירת מחדל נוצרים, עדיין יש לך את היכולת לכוון את הקבצים asgi.py
או wsgi.py
בכל עת כדי להתאים אותם לצרכי הפרסום שלך.
שלב 4 — הגדרת Django
כעת תוכל להתחיל את השרת ולצפות באתר במחשב מארח ובפורט שמוקצה על ידי הרצת הפקודה runserver
.
תצטרך להוסיף את כתובת ה-IP של השרת שלך לרשימת ה-ALLOWED_HOSTS
בקובץ settings.py
הממוקם ב-~/test_django_app/testsite/testsite/
.
כפי שמצויין במסמכי ה-Django docs, המשתנה ALLOWED_HOSTS
מכיל "רשימת מחרוזות המייצגות את שמות המארח/דומיינים שבהם ניתן לשרת את אתר ה-Django הזה. זוהי מדרך לאבטחה למניעת התקפות כותרת Host של HTTP, שאפשריות גם בהגדרות שרת אינטרנטי שנראות כאילו בטוחות."
תוכל להשתמש בעורך הטקסט המועדף עליך כדי להוסיף את כתובת ה-IP שלך. לדוגמה, אם אתה משתמש ב-nano
, הפעל את הפקודה הבאה:
פעם שתריצו את הפקודה, תרצו לנווט לחלק של ALLOWED_HOSTS
במסמך ולהוסיף את כתובת ה־IP של השרת שלך בתוך הסוגריים המרובעים בתוך גרשיים יחידים או כפולים.
ניתן לשמור את השינויים ולצאת מננו על ידי לחיצה על המקשים CTRL
+ x
ואז לחיצה על המקש y
. לאחר מכן, תמשיך לגשת לאפליקצית האינטרנט שלך דרך דפדפן.
לבסוף, צור משתמש מנהל כך שתוכל להשתמש ב־ממשק הניהול של Django. זה ניתן לעשות בעזרת הפקודה createsuperuser
:
יתבקש ממך להזין שם משתמש, כתובת דוא"ל וסיסמה למשתמש שלך.
שלב 5 — גישה לאפליקציה האינטרנטית של Django
עם התצורה שלך הושלמה, הקפד לחזור לתיקייה בה נמצא manage.py
:
עכשיו, הריצו את הפקודה הבאה והחליפו את הטקסט your-server-ip ב־IP של השרת שלך:
סוף סוף, תוכל לנווט אל הקישור למטה כדי לראות איך נראית האתר הסקלטוני שלך, שוב מחליף את הטקסט המודגש עם כתובת ה-IP האמיתית של השרת שלך:
http://your-server-ip:8000/
לאחר טעינת הדף, תראה את ההודעה הבאה:
זה מאשר כי Django הותקן כראוי והפרויקט הבדיקה שלך עובד כמו שצריך.
כדי לגשת לממשק הניהול, הוסף /admin/
בסוף כתובת ה-URL שלך:
http://your_server_ip:8000/admin/
זה יקח אותך למסך התחברות:
אם תזין את שם המשתמש והסיסמה של המנהל שברקע שברקע יצרת עכשיו, תקבל גישה למרכז הניהול הראשי של האתר:
למידע נוסף על עבודה עם ממשק הניהול של Django, ראה "איך להפעיל ולחבר את ממשק הניהול של Django."
כאשר תסיים בבדיקת האפליקציה שלך, תוכל ללחוץ על CTRL
+ C
כדי לעצור את הפקודה runserver
. זה יחזיר אותך לסביבת התכנות שלך.
כאשר תהיה מוכן לצאת מסביבת ה-Python שלך, תוכל להריץ את הפקודה deactivate
:
השבתת סביבת התכנות שלך תחזיר אותך לציו הפקודות של כור הפקודות.
מסקנה
במדריך זה התקנת בהצלחה את Django והגדרת סביבת פיתוח כדי להתחיל לעבוד על האפליקציה שלך ב-Django.
אתה עכשיו יכול להתחיל לבנות אפליקציות אינטרנט ב-Django.