最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django定制Admin頁面詳細實例(展示頁面和編輯頁面)

 更新時間:2023年06月25日 09:49:42   作者:頑固油漬  
django自帶的admin因為功能和樣式比較簡陋,常常需要再次定制,下面這篇文章主要給大家介紹了關(guān)于Django定制Admin頁面(展示頁面和編輯頁面)的相關(guān)資料,需要的朋友可以參考下

以上篇文章中注冊的Goods應(yīng)用為例

默認的Admin系統(tǒng)中,Goods應(yīng)用的詳情頁

上圖中,并未顯示商品的具體信息(名稱等),統(tǒng)一名稱為 Goods Object,為方便項目操作和管理,可在文件 model.py 中添加如下代碼,用來顯示商品名稱和 id 信息:

def __str__(self):
    return '%s:%s' % (self.id, self.name)

效果如下(可通過點擊進入商品詳情頁面):

如需定制此頁面的展示信息,可以在文件 admin.py 中使用以下關(guān)鍵字達到預(yù)期效果:

1. list_display選項:用于控制頁面展示的字段,該選項的值為元組或列表類型,其中的元素可以是模型字段或自定義字段

2. list_display_links選項:用于設(shè)置需在頁面中以鏈接形式展示的字段,可跳轉(zhuǎn)到詳情頁面

# 計算銷售額的函數(shù)
def sales_volume(g):
    total = g.price * g.sales
    return f'{g.name}銷售額為:{total}'
sales_volume.short_description = '商品銷售額' # 設(shè)置字段描述
 
# 裝飾器方法注冊應(yīng)用
@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    # 列表界面的自定義
    list_display = ('id', 'name', 'price', 'stock', 'sales', 'create_time', 'update_time', sales_volume)
    list_display_links = ('id', 'name',)  # 設(shè)置字段鏈接

 顯示效果(藍色字段點擊可進入商品詳情頁):

3. list_filter選項:用于開啟列表頁過濾器,該選項可以接收模型中的字段作為過濾條件

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    # 列表界面的自定義
    list_display = ('id', 'name', 'price', 'stock', 'sales', 'create_time', 'update_time')
    # list_filter = ['name',]  # 過濾器

效果如下(即為通過特定條件篩選目標):

4. list_per_page選項:用于設(shè)置每頁顯示的數(shù)據(jù)量

5. list_editable選項用于設(shè)置可編輯的字段,字段若被指定為編輯字段,頁面上可直接編輯該字段。

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    # 列表界面的自定義
    list_display = ('id', 'name', 'price', 'stock', 'sales', 'create_time', 'update_time', sales_volume)
    list_display_links = ('id', 'name',)  # 設(shè)置字段鏈接
    list_filter = ['id', 'name']  # 過濾器
    list_per_page = 5     # 每頁展示5條記錄
    list_editable = ('price', 'stock')  # 設(shè)置商品價格和庫存為可編輯字段

顯示效果如下:

5. search_fields選項:用于配置搜索字段

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    # 列表界面的自定義
    list_display = ('id', 'name', 'price', 'stock', 'sales', 'create_time', 'update_time')
    list_display_links = ('id', 'name',)  # 設(shè)置字段鏈接
    list_filter = ['id', 'name']  # 過濾器
    list_per_page = 5     # 每頁展示5條記錄
    list_editable = ('price', 'stock')  # 設(shè)置商品價格和庫存為可編輯字段
    search_fields = ('name',)   # 表示以 name 作為搜索字段

顯示效果:

7. actions_on_top選項:用于設(shè)置是否在頂部顯示動作下拉框,默認為True,表示在頂部顯示。

8. actions_on_bottom選項:用于設(shè)置管理員動作是否在底部顯示,默認為False,表示不在底部顯 示,當(dāng)設(shè)置為True表示在底部顯示。

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    # 列表界面的自定義
    list_display = ('id', 'name', 'price', 'stock', 'sales', 'create_time', 'update_time', sales_volume)
    # actions_on_top選項用于設(shè)置是否在頂部顯示動作下拉框
    # actions_on_bottom選項用于設(shè)置管理員動作是否在底部顯示
    actions_on_top = False
    actions_on_bottom = True

顯示效果:

定制商品詳情頁面(即編輯頁面),依然是在admin.py文件中,有如下選項:

1. fields選項:用于控制編輯頁要顯示的字段,它的值是元組類

   fields選項支持以二維元組形式設(shè)置字段分欄顯示,在fileds中一個元組表示一欄數(shù)據(jù)

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin): 
    fields = ('name', 'price', 'stock') 

顯示效果:

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    fields = (('name', 'price'), ('stock', 'sales'))      # 分欄顯示

效果如下: 

2. fieldsets選項:用于對可編輯字段進行分組,該選項不可與fields選項同時使用

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    fieldsets = (
        ('商品基本信息', {'fields': ['name', 'stock', 'sales']}),
        ('商品價格信息', {'fields': ['price']})
    )

效果如下:

3. readonly_fields選項:用于設(shè)置只讀字段

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    fieldsets = (
        ('商品基本信息', {'fields': ['name', 'stock', 'sales']}),
        ('商品價格信息', {'fields': ['price']})
    )
    readonly_fields = ('name',)

效果如下:

4. save_on_top選項:用于社會是否在編輯頁上方顯示保存、刪除等按鈕,默認為False 

@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
    fieldsets = (
        ('商品基本信息', {'fields': ['name', 'stock', 'sales']}),
        ('商品價格信息', {'fields': ['price']})
    )
    readonly_fields = ('name',)
    save_on_top = True

效果如下:

總結(jié) 

到此這篇關(guān)于Django定制Admin頁面的文章就介紹到這了,更多相關(guān)Django定制Admin頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決python線程卡死的問題

    解決python線程卡死的問題

    今天小編就為大家分享一篇解決python線程卡死的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python同時向控制臺和文件輸出日志logging的方法

    Python同時向控制臺和文件輸出日志logging的方法

    這篇文章主要介紹了Python同時向控制臺和文件輸出日志logging的方法,涉及Python日志模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • python直接調(diào)用和使用swig法方調(diào)用c++庫

    python直接調(diào)用和使用swig法方調(diào)用c++庫

    這篇文章主要介紹了python直接調(diào)用和使用swig法方調(diào)用c++庫,c++運算速度快于python,python簡單易寫。很多時候?qū)τ谝延械腸++代碼也不想用python重寫,此時就自然而然地想到用python調(diào)用c或者c++,兩全其美,需要的朋友可以參考一下
    2022-03-03
  • pytorch的batch normalize使用詳解

    pytorch的batch normalize使用詳解

    今天小編就為大家分享一篇pytorch的batch normalize使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python 線程池模塊之多線程操作代碼

    Python 線程池模塊之多線程操作代碼

    最近在做一個爬蟲相關(guān)的項目,單線程的整站爬蟲,耗時真的不是一般的巨大,運行一次也是心累,所以,要想實現(xiàn)整站爬蟲,多線程是不可避免的,那么python多線程又應(yīng)該怎樣實現(xiàn)呢?今天小編給大家分享下實現(xiàn)代碼,感興趣的朋友一起看看吧
    2021-05-05
  • 實例分析python3實現(xiàn)并發(fā)訪問水平切分表

    實例分析python3實現(xiàn)并發(fā)訪問水平切分表

    在本文中小編給大家整理了關(guān)于python3實現(xiàn)并發(fā)訪問水平切分表的相關(guān)知識點以及實例代碼,有興趣的朋友們參考下。
    2018-09-09
  • Python Pexpect庫的簡單使用方法

    Python Pexpect庫的簡單使用方法

    這篇文章主要介紹了Python Pexpect庫的簡單使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 純Python開發(fā)的nosql數(shù)據(jù)庫CodernityDB介紹和使用實例

    純Python開發(fā)的nosql數(shù)據(jù)庫CodernityDB介紹和使用實例

    這篇文章主要介紹了純Python開發(fā)的nosql數(shù)據(jù)庫CodernityDB介紹和使用實例,本文實例包含數(shù)據(jù)插入、數(shù)據(jù)更新、數(shù)據(jù)刪除、數(shù)據(jù)查詢等,需要的朋友可以參考下
    2014-10-10
  • 如何利用Python和matplotlib更改縱橫坐標刻度顏色

    如何利用Python和matplotlib更改縱橫坐標刻度顏色

    對于圖表來說最簡單的莫過于作出一個單一函數(shù)的圖像,下面這篇文章主要給大家介紹了關(guān)于如何利用Python和matplotlib更改縱橫坐標刻度顏色的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • python實現(xiàn)數(shù)值積分的Simpson方法實例分析

    python實現(xiàn)數(shù)值積分的Simpson方法實例分析

    這篇文章主要介紹了python實現(xiàn)數(shù)值積分的Simpson方法,實例分析了Python實現(xiàn)積分運算的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06

最新評論

雷州市| 洛浦县| 增城市| 福海县| 扎赉特旗| 罗源县| 印江| 武胜县| 济南市| 松江区| 芦山县| 焉耆| 页游| 樟树市| 临高县| 威海市| 清苑县| 侯马市| 鄱阳县| 冷水江市| 久治县| 凭祥市| 邢台市| 濉溪县| 孝感市| 汶上县| 乌什县| 通渭县| 桐城市| 海伦市| 秦皇岛市| 长顺县| 青铜峡市| 曲麻莱县| 凤山市| 陇南市| 堆龙德庆县| 贵定县| 永兴县| 宜良县| 鱼台县|