RapidSMS 開發人員指南/自定義管理員 UI
外觀
管理員使用者介面是 Django 的一項功能。它會自動從您的模型建立管理員 UI,允許註冊使用者
- 新增模型記錄
- 編輯模型記錄
- 刪除模型記錄
由於 RapidSMS 不提供對 Django settings.py 檔案的訪問許可權,因此我們需要手動啟用 Django 管理(無論我們是否需要為自己的模型提供管理支援)。
最簡單的方法是包含來自 RapidSMS 儲存庫的 admin 應用。請參閱安裝。
然後,您可以在 Web 伺服器上的 /admin/ URL 訪問 Django 管理。使用您在第一次 syncdb 時使用的憑據登入。
在您的應用中,建立一個名為 admin.py 的檔案。
admin.py 必須包含以下最少語句才能正常工作
#!/usr/bin/env python # encoding=utf-8 from django.contrib import admin from myapp import models admin.site.register(MyModel)
在本例中,我們正在為我們 myapp 應用的模型 MyModel 啟用 Django 管理。
您現在可以從管理員 UI 編輯您的模型資料。
大多數 RapidSMS 應用使用的一個 Django 功能是模型的自定義管理員。
它允許內容過濾、增強顯示或搜尋等功能。
示例
#!/usr/bin/env python
# encoding=utf-8
from django.contrib import admin
from models import Person, Activity
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'age', 'sex_name', 'activity', 'entered_on')
list_filter = ('activity', 'sex')
ordering = [('-entered_on')]
search_fields = ['first_name', 'last_name', 'activity__name']
admin.site.register(Person, PersonAdmin)
此示例為 Person 模型註冊了一個自定義管理員模型。
- 記錄列表將顯示 list_display 元組中的屬性。
- 記錄列表可以透過活動或性別進行過濾。
- 記錄列表預設情況下將按 entered_on(降序)排序
- 記錄列表將顯示一個搜尋框,可以在給定的欄位中進行搜尋。