Django admin的常用方法


一、HTTP

1、主頁面

http://127.0.0.1:8000/admin/

2、查詢頁面

http://127.0.0.1:8000/admin/app01/book/

3、增加頁面

http://127.0.0.1:8000/admin/app01/book/add/

4、修改頁面

http://127.0.0.1:8000/admin/app01/book/1/change/

5、刪除頁面

http://127.0.0.1:8000/admin/app01/book/1/delete/

二、配置

1、定義一個類

class BookConfig(admin.ModelAdmin):
    pass
    

2、引用

admin.site.register(models.Book, BookConfig)

三、常用方法

1、list_display

list_display = ["title", "price", "publishDate", "publisher"]

作用:顯示指定字段

注意:可以使用多對一字段,不能使用多對多字段

使用多對多字段報錯

<class 'app01.admin.BookConfig'>: (admin.E109) The value of 'list_display[4]' must not be a ManyToManyField

自定義display

# 信任標簽
from django.utils.safestring import mark_safe


class BookConfig(admin.ModelAdmin):
    # 自定義display
    def deletes(self):
        # return "刪除"
        return mark_safe("<a>刪除</a>")
    list_display = ["title", "publishDate", "price", "publish", deletes]

2、list_display_links

class BookConfig(admin.ModelAdmin):
    list_display = ["title", "price", "publishDate", "publisher"]
    list_display_links = ["title", "price", "publishDate", "publisher"]

作用:設置link,進入修改頁面

注意:list_display_links 不能設置 list_display沒有定義的內容

 3、list_filter

作用:添加根據字段進行 filter的功能

list_filter = ["price", "publisher"]

4、list_editable

作用:在查看頁面直接編輯字段

注意:the value of 'title' cannot be in both 'list_editable' and 'list_display_links'

list_editable = ["title"]

5、search_fields

作用:模糊索引

注意:字段與字段之間是或的關系

6、actions

作用:批量操作

# queryset相對於頁面前面的checkbox
def bath(self, request, queryset):
    queryset.update(price=66.88)
bath.short_description = "批量修改價格"
actions = [bath].

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM