django.contrib.admin 是 Django 框架裡實作 CRUD çš„é‡è¦å…ƒä»¶ã€‚這個 admin 是一個ç¨ç«‹çš„ Django app,它å…è¨±å°æ‰€æœ‰ Django 所支æ´çš„資料模型進行æ“ä½œã€‚å› ç‚ºå®ƒçš„åŠŸèƒ½å¼·å¤§ï¼Œæ‰€ä»¥è¨±å¤šäººå¸Œæœ›ç‚ºå®ƒå»¶ä¼¸åŠŸèƒ½ï¼Œå¥½å’Œè‡ªå·±å¯«çš„ app çµåˆåœ¨ä¸€èµ·ï¼Œç›¸å¾—ç›Šå½°ï¼›æœ€å¥½æ˜¯èƒ½å¤ ç„¡ç¸«çµåˆï¼Œé‚£å°±å¤ªå®Œç¾Žäº†ã€‚
å¡é›£å•¦ï¼Django admin CRUD æ¨£æ¨£éƒ½è¡Œï¼Œé‚„åŠ ä¸Šèªè‰å’Œæ¬Šé™ç®¡ç†ï¼ŒçœŸè¦ä½œåˆ°ç„¡ç¸«çµåˆï¼Œå¤§æ¦‚也會把 admin 的程å¼ç¢¼å…¨ç¿»éŽä¸€é了;這樣一æžï¼Œèªªä¸å®šä¹Ÿä¸å¿…花多少力氣就能改出自己版本的 admin。而且 admin çš„è¨è¨ˆä¸»è¦æ˜¯é‡å° webmaster/superuserï¼Œé›–ç„¶é…æœ‰æ¬Šé™ç³»çµ±ï¼Œä½†æ˜¯è©²æ¬Šé™ç³»çµ±ä¹ƒæ˜¯ table-specific è€Œéž row-specificã€‚ä¹Ÿå°±æ˜¯èªªï¼Œåƒæœ¬ç«™é€™ç¨® multi-user 系統,得è¦å¦å¤–考慮權é™çš„實作,ä¸èƒ½ä½¿ç”¨å…§å»ºçš„系統,使得無法將 admin ä»‹é¢æä¾›çµ¦çµ‚ç«¯ä½¿ç”¨è€…ä¾†ä½¿ç”¨ã€‚
其實ç¨å¾®è¤‡é›œä¸€é»žçš„ç¶²é 程å¼ç³»çµ±å¤§æ¦‚就會是這種狀æ³ã€‚Django admin 還是很ä¸éŒ¯çš„工具,但程å¼è¨è¨ˆå“¡ä¸èƒ½åœ¨å¾Œå°ç³»çµ±ä¸Šå·æ‡¶ã€‚尤其ç¾åœ¨ç¶²é 程å¼çš„è¨è¨ˆè¶¨å‹¢æ˜¯é ajax 把部分後å°çš„功能作到å‰å°ï¼Œæƒ³è¦å…¨é admin æä¾›å¾Œå°ç®¡ç†åŠŸèƒ½ä¹Ÿæ˜¯æœ‰é»žä¸å¤ªå¯¦éš›çš„。
從 limodou çš„ [Django动æ€]newforms Admin分支开始了 也å¯ä»¥çœ‹åˆ°é¡žä¼¼çš„æƒ³æ³•。newforms 是 Django é‚å‘ 1.0 çš„é‡è¦å…ƒä»¶ä¹‹ä¸€ï¼Œä»¥ newforms 釿§‹ admin 或許是必然的一個æ¥é©Ÿã€‚然而,我想 admin è¦å¾ž webmaster 管ç†å·¥å…·ï¼Œæ”¹è®Šæˆçµ‚端使用者工具的機會應該ä¸å¤§ã€‚畢竟å³ä½¿åœ¨ newforms admin çš„ "Would be nice, and we're going to try our hardest to get this in" goals è£¡ï¼Œè‡³å¤šä¹Ÿåªæœ‰ "Give developers extra hooks" é€™ä¸€é …ã€‚
如果 Django è¦æœ‰é«˜åº¦è‡ªè¨‚的後å°ç®¡ç†ç¨‹å¼åº«ï¼Œå¯èƒ½ä¸æœƒä»¥èˆŠ admin 或 newforms admin 的形å¼å‡ºç¾å§ã€‚