天天看點

Django背景---admin---設定筆記

一、注冊路由

# 為 admin.py ==> settings.py 所在目錄的 urls.py 配置urls

from django.urls import path, include   # Django2.0
# from django.conf.urls import url, include    # Django1.0

urlpatterns = [
    path('admin/', admin.site.urls),   # Django2.0以上
    # url(r'^admin/', admin.site.urls),  # Django1.0以上
]
           

二、形成一個admin背景的初始化(基本)操作:

from django.contrib import admin
# Register your models here.

from .models import UserProfile


class UserProfileAdmin(admin.ModelAdmin):
    pass


# 若需要,可設定标題
admin.site.site_header = 'admin背景系統'  # 設定頁面顯示标題 - 浏覽器頁面頂
admin.site.site_title = 'admin背景系統'   # 設定頁面頭部标題 - 浏覽器标簽處

admin.site.register(UserProfile, UserProfileAdmin)  # 注冊,即可生成背景
           

三、字段 - 說明:

class UserProfileAdmin(admin.ModelAdmin):

    # 清單,元祖都可以,最後要有個逗号

    model = UserProfile    # 模型類
    list_display = ('id', 'username', 'first_name', 'email', )  # 表的展示字段列
    list_filter = ("first_name", )   # 過濾器篩選: 右側面闆,點選即可直接篩選出該記錄
    list_display_links = ("username", )    # 點選可進入該條記錄的編輯頁面
    search_fields = ("username", 'first_name', )   # 搜尋框字段
    list_per_page = 5   # 每頁展示記錄條數
    ordering = ('-updatetime', )   # 按照更新時間負排序

    # 單對多
    raw_id_fields = ('idc', )   # 假設在assets資産admin中,一個機房有多台主機
    
    # 單對多 - 例子 - 如在模型類Assets中,有該外鍵
    idc = models.ForeignKey(“Idc”, verbose_name="所在機房", on_delete=models.SET_NULL, null=True, blank=True)
    
    # 單對多 - 注意
    # Django admin 預設的單對多關系選擇器是下拉菜單,很多(ForeignKey)時就太長了,不好用
    # 推薦使用:raw_id_fields 選項

    # 多對多
    filter_horizontal = ('groups', 'user_permissions', 'roles', )
    
    # 多對多 - 注意事項
    # 注意:list_display中的字段不能用在多對多字段上
    # Django admin 預設的多對多關系(ManyToMany)選擇器是複選框,不好用
    # 是以推薦使用:filter_horizontal 或 filter_vertical 選項

    # 以下使用較少

    # 這裡,其中字段不能是list_display_links中指定的
    list_editable = ('mobile', 'email', ) # 可編輯字段,在展示表資料頁面就是可編輯狀态
    date_hierarchy = "update_time"   # 按日期月份篩選
           

待續.....................

四、神器

借鑒連接配接:

深入了解:https://blog.csdn.net/weixin_42134789/article/details/83686589

神器:https://code.ziqiangxuetang.com/django/django-admin.html