Developer's Guide

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

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

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

שינויים ל-routers
הוספתי route בסיסי לאישור הזמנות

שימוש נכון בקוד
סופר חשוב- כאשר אתם יוצרים אירוע חדש, ממש חשוב שתשתמשו בפונקציה שמיועדת לכך. אתם תוכלו לקרוא לפונקציה בעזרת from routers.event import create_event
כנ"ל גם לגבי query של האירועים- יש פונקציה מתאימה.

אם מישהו צריך עזרה אפשר לכתוב לי פה או בפרטי.

7 לייקים

המערכת עכשיו תומכת בלוקליזיציה ותרגום. מה זה אומר לגביכם?

  1. אם הוספתם טקסט בקובץ פייתון, תעטפו את הטקסט ככה: _("your text")
  2. אם הוספתם טקסט בקובץ HTML, תעטפו את הטקסט ככה: {{ gettext("your text") }}
  3. אם הטקסט גם כולל משתנה, תרשמו אותו ככה:
    {{ gettext("your text is %(text)s", text=variable) }} , כאשר (text) הוא המשתנה ושם הפרמטר, ו variable זה המשתנה שאתם מכניסים לתוכו.

אחרי שהוספתם את הטקסט, אתם יכולים גם להוסיף תרגום לשפות אחרות (כרגע נתמך רק עברית) בדרך הבאה. לרשום בטרמינל:

  1. pybabel extract --mapping-file=app/babel_mapping.ini app tests -o app/locales/base.pot -c i18n
  2. pybabel update -i app/locales/base.pot -d app/locales -D base
  3. לתרגם את המילים בקובץ app/locales/he/LC_MESSAGES/base.po
  4. pybabel compile -d app/locales -D base
3 לייקים

היי, בפיתוח שלי של Extending OpenAPI הוספתי ועשיתי סדר בחלק מהAPI שלהם.
ניתן להגיע לswagger דרך הכתובת הבאה:
http://127.0.0.1:8000/docs#/
ודוקומנטציה בכתובת הבאה
http://127.0.0.1:8000/redoc

הרעיון הוא שבתור מפתחים אנחנו יכולים לעשות שימוש ישירות מול ה APIים ולראות את התשובה שאיתה אנחנו רוצים לעבוד. לדוגמא, יצירת איבנט -
http://127.0.0.1:8000/docs#/event/create_event_api_event__post
או קבלת כל האיבנטים -
http://127.0.0.1:8000/docs#/event/get_events_event__get

מאז שהכנסתי את הפיתוח נוצרו עוד ראוטים חדשים, שכדיפולט מגיעים לסכמה ולעיתים אין באמת טעם להראות אותם בסוואגר (לדוגמא, ראוט של גט שמחזיר html). אם אתם עוד בפיתוח, אתם יכולים לאקסלד את הראוט שלכם בצורה הזאת לדוגמא:
@router.get("/", include_in_schema=False)

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

2 לייקים