ח'ופו-סקריפט משמש להגדרת subcommands עם דגש מיוחד על יישומים בסגנון אינטרנט. הפונקציונליות הוא בהשראת תסריט manage.py אופטימיות.
שימוש:
דוגמא פשוטה להוספת פקודה שמדפיסה "שלום עולם":
מפקודת יבוא khufu.script, המפקד
command
HelloWorld def ():
& Nbsp; הדפסה "שלום עולם"
אם __name__ == '__main__':
& Nbsp;. Commander.scan (GLOBALS ()) לרוץ ()
כדי לעשות פקודה מסובכת יותר, אתה יכול להשתמש במשהו דומה לargparse של פייתון 2.7 (זמין גם ב2.6).
argparse יבוא
מפקודת יבוא khufu.script, המפקד
command
foo def (* argv):
& Nbsp; מנתח = argparse.ArgumentParser ()
& Nbsp; parser.add_argument ('- X', לעזור "בדיקה פשוטה '=,
& Nbsp; ברירת מחדל = 'כן', metavar = "x")
& Nbsp; NS = parser.parse_args (argv)
& Nbsp; # לעשות משהו
אם __name__ == '__main__':
& Nbsp;. Commander.scan (GLOBALS ()) לרוץ ()
מסופק על פקודות
כרגע יש שני מפעלי הפקודה סיפקו.
& Nbsp; 1. make_reloadable_server_command (ראה לעיל הערה לגבי דרישות לrunserver)
& Nbsp; 2. make_syncdb_command
יישום אינטרנט טיפוסי יכול להשתמש בפקודות אלה כדלקמן:
אם __name__ == '__main__':
& Nbsp; def createtables (מושב):
& Nbsp; models.Base.metadata.create_all (session.bind)
& Nbsp; הגדרות = init_settings ()
& Nbsp; מפקד = script.Commander ([script.make_reloadable_server_command (make_app),
& Nbsp; script.make_syncdb_command (הגדרות ['spitter.db_session_factory'],
& Nbsp; createtables)])
& Nbsp; commander.scan (GLOBALS ())
& Nbsp; commander.run ()
ריצת התסריט ללא args יניב משהו דומה ל:
פקודות:
& Nbsp; runserver להריץ שרת אינטרנט פיתוח reloadable.
& Nbsp; syncdb לעדכן את מסד הנתונים
מה חדש בהודעה זו:.
- syncdb / upgradedb עכשיו לחשוב על מסד נתונים יותר כדי למנוע תלות מודל מעגלית
מה חדש בגרסת 0.6.1:
- נוסף & quot; rshell & quot; הפקודה להתחברות לשרת מרוחק rfoo ועבודה עם אובייקטים פועלים-חיים
מה חדש בגרסה 0.2.2:
- כתובות פרויקט עדכון
דרישות :
- פייתון
תגובות לא נמצא