תרגול django: בניית מערכת קטנה לניהול הוצאות

שלום לכולם!

בהמשך לסשן ה-django שערכנו אתמול, מי שמעוניין מוזמן לתרגל קצת.

להזכירכם, אנחנו כותבים אתר קטן לרישום וניהול הוצאות.
בשלב הראשון כתבנו אתר שמשמש רק משתמש אחד:
https://moqups.com/udioron/QTHi4uB0/p:a7fb0ffd6
(ניתן ללחוץ על הקישורים או ללחוץ על pages משמאל למעלה)

בשלב השני הוספנו אפשרות לעשות login ודאגנו לכך שכל משתמש יראה את ההוצאות של עצמו בלבד:
https://moqups.com/udioron/QTHi4uB0/p:a9936ccca

שיעורי הבית שלכם הוא לממש שלב שלישי, בו לכל משתמש יש מספר חשבונות:
3.1. עמוד הוספת חשבון:
https://moqups.com/udioron/QTHi4uB0/p:a453aaa52
3.2. עמוד הוספת הוצאה משתכלל:
https://moqups.com/udioron/QTHi4uB0/p:a1ac9950d
3.3: ושיפורים לדף הבית:
https://moqups.com/udioron/QTHi4uB0/p:ab0b84459
3.4.עמוד הוצאות בחשבון - השתמשו בDetailView:
https://moqups.com/udioron/QTHi4uB0/p:ad4c3f4f1
3.5: עמוד רשימת כל החשבונות:
https://moqups.com/udioron/QTHi4uB0/p:a30687631

כל הקוד שכתבנו אתמול + שיפורים קטנים (ראו ב-log) נמצא כאן:

למי שמצליח את שלב 3:
בשלב 4 צריך לאפשר למספר משתתפים לנהל ביחד חשבונות. בהתחלה ניתן להניח שההגדרות על איזה משתמשים שייכים לאיזה חשבונות מנוהלות מהאדמין - ורק לוודא שההרשאות מאפשרות לכל אחד לראות רק את החשבונות שהוא שייך אליהם.

שאלות? רוצים לשלוח פתרונות?
שתפו אותנו כאן!

בהצלחה!
אודי

@udioron

  1. פיתחתי את מה שעשיתם בכיתה. קצת ממך וקצת מהעולם.
  2. אני מצליח להתחבר עם ה superuser של django לדשבןרד של אדמין.
  3. אני מייצר משתמש חדש(כדי לבדוק האם כל משתמש אכן מקבל רשימה משלו)
  4. המערכת לא מזהה את המשתמש השני שייצרתי.
  5. גם בדוגמא שלך לא ניתן להרשם עם משתמש שני שיצרתי בתור superuser.

@david_fradis

אני חושב שנתקלת בבעיה - שהשדה המזהה email רגיש לאותיות קטנות/גדולות.
בגדול, חוץ מהמקרה הזה, הקוד אמור לעבוד יופי.
דחפתי גם שינויים שמאפשרים לערוך את המשתמשים באדמין ומתקנים את הבעיה הנ"ל.

אודי

יש שיעורים נוספים?

בנוסף לשלבים 3+4?

בבקשה:

שלב 5: לכל חשבון יש לממש תגיות משלו - ולאפשר למשתמשים לנהל (להוסיף, לצפות, ערוך ולמחוק) אותן. כל הוצאה יכולה להיות שייכת ל-0 או יותר תגיות.

שלב 6: מימוש רמות הרשאה שונות לכל משתמש בחשבון (0-צפיה בלבד, 1-הוספת הוצאות, 2-ניהול הוצאות, 3-ניהול תגיות, 40ניהול משתמשים)

כשלבי ביניים נוספים אפשר לממש:

  • הוספת קבצים להוצאות
  • הזמנת משתמשים דרך שליחת אימייל

מספיק?

:slight_smile:

אודי