ברוכים הבאים ליום 2 של 12 ימים של DigitalOcean! אתמול, התחלנו לבנות את שירות תזכורת יומולדת—אפליקציה פשוטה ששולחת התראות SMS על ימי הולדת קרובים. 🎉 הקמנו מסד נתונים PostgreSQL על DigitalOcean כדי לאחסן פרטי קשר.
היום, נחבר את זה למסד הנתונים באמצעות פייתון ונבנה את הפרויקט שלנו כדי לשמור על פרטי ההזדהות בטוחים.
בסוף הפוסט הזה, יהיה לך סקריפט פייתון שמביא נתונים ממסד הנתונים שלך בצורה מאובטחת ומוכן להתרחב כשנארח אותו על DigitalOcean.
✨ למה הצעד הזה?
הקמת מסד הנתונים הייתה רק ההתחלה. כדי לבנות אפליקציה משמעותית, אנחנו צריכים דרך לתקשר עם הנתונים האלה בצורה תוכנתית. פייתון מקלה על חיבור למסדי נתונים PostgreSQL, ועזרת ספרייה כמו pg8000 מאפשרת לנו לעבוד עם מסדי נתונים PostgreSQL בכמה שורות קוד בלבד.
כדי לשמור על דברים בטוחים, נשמור את אישורי הגישה למסד הנתונים שלנו בקובץ .env
ונטען אותם לתוך הסקריפט שלנו באמצעות python-dotenv. זה מבטיח שהאישורים שלך לא יהיו קשורים בקוד הסקריפט, מה שהופך את השיתוף וההפצה של האפליקציה שלך לבטוחים יותר.
🚀 מה תלמד
הנה התוכנית להיום:
- שמור אישורים רגישים בקובץ
.env
. - השתמש ב
python-dotenv
כדי לטעון את האישורים האלה לתוך הסקריפט שלך. - כתוב סקריפט פייתון כדי להתחבר בצורה בטוחה למסד הנתונים PostgreSQL שלך באמצעות
pg8000
- קבל והצג נתונים מטבלת
contacts
בסוף זה, תהיה לך בסיס מוצק לבניית הלוגיקה של האפליקציה.
🛠 מה תצטרך
לפני שנצלול פנימה, הנה מה שתצטרך:
- המסד נתונים שהקמנו ביום 1. TODO: קישור לכתובת יום 1
- פייתון מותקן במכונה המקומית שלך (אנו ממליצים על פייתון 3.8+).
🧑🍳 מתכון ליום 2: חיבור ל-PostgreSQL עם פייתון
שלב 1: התקנת הספריות הנדרשות 📦
כדי לחבר את פייתון ל-PostgreSQL ולשמור על האישורים שלנו מאובטחים, נשתמש בשתי ספריות מפתח:
- pg8000: ספריית פייתון טהורה המאפשרת לך להתחבר ולתקשר עם מסדי נתונים של PostgreSQL.
- python-dotenv: כלי לטעינת אישורים רגישים (כמו שמות משתמש וסיסמאות למסד נתונים) מקובץ
.env
, כך שלא תצטרך לקודד אותם בקשיחה בסקריפט שלך.
בוא נתקין אותן עכשיו. הרץ את הפקודה הזו במסוף שלך:
טיפ מקצועי: אם אתה משתמש בסביבה וירטואלית (תמיד רעיון טוב!), ודא שאתה מפעיל אותה לפני הרצת הפקודה לעיל כדי לשמור על התלות שלך מאורגנת.
צעיף 2: צור קובץ .env 📂
בתיקיית הפרויקט שלך, צור קובץ בשם .env. כאן נשמור את אישורי הגישה למסד הנתונים שלנו. הוסף את הבא:
החלף את הערכים הממלאים עם האישורים מיום 1.
טיפ מקצועי: הוסף .env
לקובץ .gitignore
שלך כדי להבטיח שאישורי הגישה שלך לא יידחפו בטעות למערכת בקרת גרסאות.
צעיף 3: צור סקריפט פייתון 🐍
צור קובץ חדש בשם connect_to_db.py
, והכן את הסקריפט כדי לטעון את האישורים מ.env
באמצעות python-dotenv
, ולהתחבר למסד הנתונים שלנו.
הנה הקוד להתחלה:
סקריפט זה עושה מספר דברים חשובים:
- טוען את האישורים בצורה מאובטחת מקובץ
.env
. - מ establishes a connection to your database using
pg8000.connect()
. - מדפיס הודעת הצלחה או שגיאה בהתאם לתוצאה.
שלב 4: בדוק את החיבור ✅
עכשיו, בואו נוודא שהכל עובד. הרץ את הסקריפט שלך:
אם הכל מוגדר נכון, אתה אמור לראות:
אם יש שגיאה:
- בדוק שוב את הערכים בקובץ .env שלך.
- ודא שהכתובת IP שלך נוספה למקורות המהימנים של מסד הנתונים (ראה שלב 6 מיום 1).
שלב 5: קבלת נתונים ממסד הנתונים 🔍
עכשיו, בואו נרחיב את הסקריפט כדי לקבל נתונים. עדכן את הסקריפט connect_to_db.py
שלך לכלול את הדברים הבאים:
הסקריפט הזה עכשיו:
- מבצע שאילתה כדי להביא את כל הרשומות מטבלת הקשרים.
- מדפיס כל רשומה לקונסולה.
הערה: אם הטבלה ריקה, אין דאגות! אתה עדיין יכול לבדוק שהסקריפט פועל ללא שגיאות. לצורך בדיקה, תוכל להוסיף במהירות קשר לדוגמה על ידי פתיחת מסד הנתונים שלך באמצעות psql
(או הכלי המועדף עליך) והרצת הפקודה SQL הזו:
אם אתה צריך רענון על איך להשתמש ב-psql או רוצה לחקור כלים גרפיים כמו pgAdmin או TablePlus, עיין בהוראות ביום 1.
🎁 סיכום
הנה מה שהשגת היום:
✅ התקנת את הספריות הנדרשות של פייתון.
✅ התחברת למסד נתונים PostgreSQL של DigitalOcean שלך בעזרת פייתון.
✅ שלפת נתונים מטבלת contacts
עם שאילתה פשוטה.
הבא בתור: מחר נתחיל להוסיף לוגיקה כדי למצוא ימי הולדת קרובים ולשלוח התראות SMS באמצעות Twilio. כאן האפליקציה מתחילה להתעורר לחיים—הישאר מעודכן! 🚀
Source:
https://www.digitalocean.com/community/tutorials/connecting-to-postgresql-database-with-python