亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Python Django 后臺管理之后臺模型屬性詳解

Python Django 后臺管理之后臺模型屬性詳解

熱門標簽:浙江電銷卡外呼系統好用嗎 地圖制圖標注位置改變是移位嗎 蓋州市地圖標注 地圖標注微信發送位置不顯示 315電話機器人廣告 上海機器人外呼系統哪家好 地圖標注的意義點 南京銷售外呼系統軟件 房產電銷外呼系統

十八、Django 后臺模型屬性篇

繼續在之前的項目中進行代碼的編碼,首先要回憶一下通過 createsuperuser 命令創建的管理員賬號,如果忘記了,需要重新創建一個。

本篇博客涉及的代碼都在 admin.py 文件中,如果你首次打開本篇文章,請翻看本文結尾出的目錄大綱,可以再次學習。

為了便于學習,提前在 models.py 中新增一個類,代碼如下:

from django.db import models

class MyCenter(models.Model):
    pass

18.1 在 admin 中注冊模型

為了讓 Django 能對 models.py 文件中的類進行管理操作,需要先注冊模型。

把上文提及的 MyCenter 模型進行注冊,此時 admin.py 文件的代碼如下:

from django.contrib import admin
from .models import MyCenter

class MyCenterAdmin(admin.ModelAdmin):
    pass

admin.site.register(MyCenter, MyCenterAdmin)

注冊成功的結果就是在后臺頁面,可以看到對模型的操作入口。


其它注冊方式
因為上述 MyCenterAdmin 沒有實現任何功能,所以可以省略掉。修改代碼如下:

from django.contrib import admin
from .models import MyCenter

admin.site.register(MyCenter)

同樣可以使用裝飾器達到相同的效果。

from django.contrib import admin
from .models import MyCenter


@admin.register(MyCenter)
class MyCenterAdmin(admin.ModelAdmin):
    pass

18.2 Model.Admin 類提供的屬性

在上文你已經看到了,admin.py 文件中的類默認繼承自 Model.Admin,既然繼承自它,那接下來要掌握的就是它給我們提供的屬性內容了。

工作開始前,我們先將 admin.py 文件中的代碼進行修改,主要為了便于頁面展示。

models.py

from django.db import models
from django.contrib.auth.models import User

class Customer(models.Model):
    # 自增主鍵
    _id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20, verbose_name="客戶名")
    mobile = models.IntegerField(default=0, verbose_name="手機號碼")


class Score(models.Model):
    # 自增主鍵
    _id = models.AutoField(primary_key=True)
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
    score = models.IntegerField(default=0, verbose_name="分數")

admin.py

from django.contrib import admin
from .models import Customer


@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
    pass

上述內容補充完整之后,就可以進行后臺對數據進行維護了。

接下來就要學習第一個屬性:date_hierarchy

18.2.1 date_hierarchy

該屬性用于將時間列轉換為可過濾字段,完成該操作需要在 models.py 中新增好 models.DateField 類型的字段。

create_time = models.DateField(default=timezone.now)

當模型發生變化,需要用下述命令進行一下同步。

python manage.py makemigrations scoring
python manage.py migrate

模型變化遷移之后,就可以在 admin.py 中進行配置了。

from django.contrib import admin
from .models import Customer

@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
    date_hierarchy = "create_time"

此時再運行應用之后,就可以在 customer 頁面查看到最終結果了。

18.2.2 actions_on_top/actions_on_bottom

控制動作條的顯示位置,動作即操作。

修改 admin.py 文件代碼如下,可以控制動作條的展示位置。

@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
    date_hierarchy = "create_time"
    # actions_on_top = False
    actions_on_bottom = True

18.2.3 actions_selection_counter

動作條后面的計數是否展示。當其設置為 False 之后,后面的數字消失。

18.2.4 list_display

該屬性可以控制模型中列表顯示的字段。代碼修改為如下內容:

@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
    date_hierarchy = "create_time"
    actions_on_top = False
    actions_on_bottom = True
    list_display = ["_id", "name", "mobile", "create_time"]

最終呈現的數據如下:

list_display 還可以給字段嵌套一個函數。

def warp_name(obj):
    return f"客戶名:{obj.name}"

@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
    date_hierarchy = "create_time"
    actions_on_top = False
    actions_on_bottom = True

	# warp_name 為函數名,函數內會接收一個對象
    list_display = ["_id", warp_name, "mobile", "create_time"]
    warp_name.short_description = "格式化的名字"

也可以將上述代碼的 warp_name 函數,放置到 CustomerAdmin 內部。

@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
    date_hierarchy = "create_time"
    actions_on_top = False
    actions_on_bottom = True

    def warp_name(self, obj):
        return f"客戶名:{obj.name}"

    list_display = ["_id", 'warp_name', "mobile", "create_time"]

    warp_name.short_description = "格式化名字"

此時最大的區別就是 list_display 的列表中自定義的函數為一個字符串形式。

默認情況下 list_display 的第一項是超鏈接,點擊可以進行編輯頁面,可以通過 list_display_links 進行設置。

  • list_display_links:為 None 表示不顯示任何鏈接;
  • 列表:標記哪些需要超鏈接。

18.2.5 empty_value_display

空數據展示的方式,默認空數據展示的是 --,使用該屬性之后,可以進行自定義設置。
修改 models.py 文件,增加備注列。

class Customer(models.Model):
    # 自增主鍵
    _id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20, verbose_name="客戶名")
    mobile = models.IntegerField(default=0, verbose_name="手機號碼")
    create_time = models.DateField(default=timezone.now)
    mark = models.CharField(max_length=50, null=True, blank=True)

重新運行遷移命令,然后運行應用,得到如下效果。

接下來使用該字段進行數據的展示,在 admin.py 文件中進行設置。

empty_value_display = '/'

運行之后得到的結果如下:

18.2.6 fields

控制顯示的表單字段與順序組合。例如增加如下代碼之后,核對結果如下:

list_display = ["_id", 'warp_name', "mobile", "create_time","mark"]
fields = ["mobile","name"]

18.2.7 其他要補充的屬性

filter_horizontalfilter_vertical
篩選菜單的橫排展示與豎排展示。

list_editable
可編輯字段。

list_filter
過濾器屬性設置。

list_per_page
每頁顯示的數據條數。

ordering
排序字段列表。

paginator
分頁類對象,需要提前引入 django.core.paginator.Paginator

radio_fields
字段在表單中是單選按鈕。

readonly_fields
不可編輯字段。

search_fileds
列表頁增加的篩選字段。

到此這篇關于Python Django 后臺管理之后臺模型屬性的文章就介紹到這了,更多相關Python Django 后臺管理內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 一篇文章帶你自學python Django
  • python之django路由和視圖案例教程
  • python Django框架快速入門教程(后臺管理)
  • Python django中如何使用restful框架
  • Python Django ORM連表正反操作技巧
  • 利用Python Django實現簡單博客系統
  • python之Django自動化資產掃描的實現
  • python Django的顯示個人信息詳解

標簽:臨汾 克拉瑪依 赤峰 金華 貴州 日照 陽泉 雙鴨山

巨人網絡通訊聲明:本文標題《Python Django 后臺管理之后臺模型屬性詳解》,本文關鍵詞  Python,Django,后臺,管理,之,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python Django 后臺管理之后臺模型屬性詳解》相關的同類信息!
  • 本頁收集關于Python Django 后臺管理之后臺模型屬性詳解的相關信息資訊供網民參考!
  • 推薦文章
    色综合久久天天综合观看| 国产91丝袜高跟系列| 成人免费一级纶理片| 久久成人综合网| 可以在线看黄的网站| 国产成人精品一区二区视频| 欧美激情影院| 天堂网中文在线| 一 级 黄 中国色 片| 日韩免费在线| 精品国产一区二区三区久久久狼| 亚洲精品永久一区| 黄视频网站免费| 亚洲第一页色| 青青久久国产成人免费网站| 天天做人人爱夜夜爽2020毛片| 精品视频一区二区| 美女免费毛片| 成人影院一区二区三区| 韩国毛片免费| 国产91精品露脸国语对白| 香蕉视频一级| 高清一级片| 国产美女在线一区二区三区| 99久久精品费精品国产一区二区| 91麻豆tv| 九九精品影院| 91麻豆爱豆果冻天美星空| 国产视频一区二区在线播放| 99久久精品国产麻豆| 日韩av成人| 精品视频在线观看免费| 国产一区二区精品| 免费国产在线观看| 欧美激情一区二区三区在线 | 久久国产一久久高清| 国产国语对白一级毛片| 四虎影视久久久| 国产成人精品综合在线| 久久精品店| 欧美日本国产| 欧美α片无限看在线观看免费| 麻豆网站在线看| 日本在线www| 可以免费看污视频的网站| 黄视频网站免费| 欧美激情在线精品video| 国产不卡在线观看| 欧美一级视频免费| 日韩在线观看视频网站| 精品国产一区二区三区免费 | 欧美另类videosbestsex高清| 日韩中文字幕一区| 精品国产一区二区三区久久久蜜臀 | 亚飞与亚基在线观看| 黄色短视频网站| 久久99欧美| 一级片片| a级黄色毛片免费播放视频| 国产a视频| 日韩欧美一及在线播放| 麻豆污视频| 国产a一级| 黄视频网站在线看| 久久国产精品自由自在| 99久久精品国产麻豆| a级毛片免费全部播放| 亚洲女初尝黑人巨高清在线观看| 四虎影视久久| 亚洲第一页色| 天天做人人爱夜夜爽2020毛片| 欧美激情一区二区三区在线| 精品久久久久久中文字幕一区| 久草免费资源| 天天做日日干| 日本在线不卡视频| 日韩免费在线视频| 一本高清在线| 国产视频网站在线观看| 亚洲第一页乱| 色综合久久天天综合绕观看| 99热精品在线| 日本特黄一级| 日本特黄特黄aaaaa大片| 国产不卡在线观看| a级毛片免费全部播放| 久草免费在线色站| 精品视频在线看 | 日本免费乱理伦片在线观看2018| 久久久久久久男人的天堂| 99色视频在线观看| 91麻豆精品国产高清在线| 欧美爱爱网| 天天色成人网| 欧美a级片免费看| 99久久视频| 中文字幕一区二区三区精彩视频| 国产一区免费在线观看| 日本伦理片网站| 香蕉视频一级| 国产成人欧美一区二区三区的| 中文字幕一区二区三区 精品| 韩国毛片| 国产精品免费精品自在线观看| 国产一区二区精品久久91| 日日日夜夜操| 亚洲第一色在线| 九九精品在线| 在线观看成人网 | 久久国产精品只做精品| 91麻豆精品国产片在线观看| 黄视频网站在线免费观看| 亚洲wwwwww| 精品视频在线观看一区二区三区| 国产一级强片在线观看| 高清一级片| 美女免费毛片| 日本免费看视频| 你懂的国产精品| 日本免费看视频| 香蕉视频久久| 亚洲爆爽| 欧美激情影院| 国产激情一区二区三区| 亚洲第一色在线| 欧美激情在线精品video| 午夜激情视频在线播放| 日本在线不卡视频| 久久久久久久久综合影视网| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品在线观看国产| 国产一区二区精品尤物| 亚洲天堂免费| 日韩综合| 亚洲精品影院| 欧美a级v片不卡在线观看| 91麻豆精品国产自产在线观看一区| 午夜欧美成人久久久久久| 国产成人女人在线视频观看| 国产成人啪精品视频免费软件| 91麻豆国产福利精品| 黄视频网站免费观看| 亚洲精品影院| 亚洲精品久久玖玖玖玖| 日韩av成人| 国产成人精品综合久久久| 成人免费观看视频| 国产美女在线观看| 尤物视频网站在线| 四虎久久影院| 亚洲爆爽| 一级女性全黄生活片免费| 国产国语对白一级毛片| 日本免费乱理伦片在线观看2018| 欧美激情一区二区三区视频高清 | 午夜在线影院| 亚洲wwwwww| 国产伦精品一区二区三区在线观看| 国产麻豆精品免费视频| 精品视频在线观看免费| 青青久久精品| 国产成人精品综合在线| 国产一区二区精品在线观看| 欧美激情伊人| 黄色免费三级| 日本伦理网站| 91麻豆精品国产自产在线| 色综合久久久久综合体桃花网| 欧美另类videosbestsex久久 | 国产原创中文字幕| a级精品九九九大片免费看| 亚洲爆爽| 日本在线播放一区| 韩国毛片基地| 午夜在线观看视频免费 成人| 91麻豆国产| 香蕉视频一级| 精品视频在线观看一区二区三区| 免费国产在线视频| 99久久视频| 日韩专区亚洲综合久久| 国产国产人免费视频成69堂| 午夜精品国产自在现线拍| 国产成人精品综合在线| 999精品视频在线| 99久久精品国产高清一区二区| 色综合久久天天综合绕观看| 亚欧成人乱码一区二区| 毛片成人永久免费视频| 人人干人人插| 青青久久精品| 国产成人精品综合久久久| 日本特黄特黄aaaaa大片| 国产麻豆精品免费密入口| 韩国毛片免费| 黄色短视频网站| 国产福利免费视频| 精品国产三级a| 日韩专区亚洲综合久久| 欧美激情一区二区三区视频 |