django admin后管定制-顯示字段的實例
先說需求:
1、django 自帶了admin后管,如果我們需要使用,只需把我們定義的models注冊即可;
2、但如果只是簡單注冊,那顯示的很簡單,根本看不到每行記錄的描述信息,全部以model object 形式顯示,必須點擊進去才能看到信息,太不方便,如下圖:
1、顯示關(guān)鍵信息
效果如下圖,這樣就好看多啦。
2、配置
在 admin.py 文件中配置一下就行。
admin.py
# Underwriter admin model class UnderwriterAdmin(admin.ModelAdmin): # 需要顯示的字段信息 list_display = ('id', 'underwriter', 'shortname', 'telephone') # 設(shè)置哪些字段可以點擊進入編輯界面,默認是第一個字段 list_display_links = ('id', 'underwriter') # 注冊時,在第二個參數(shù)寫上 admin model admin.site.register(Underwriter, UnderwriterAdmin)
3、答疑
為何開始沒設(shè)置時,顯示的是 model object 形式呢 ??
原來是在定義 model 時,漏掉了一個步驟:
# 承銷商 model class Underwriter(models.Model): underwriter = models.CharField(max_length=50) shortname = models.CharField(max_length=50) telephone = models.CharField(max_length=50) email = models.CharField(max_length=50, null=True, blank=True) # 應(yīng)該加上這步,表示顯示時返回的是自定義信息,而不是 object 形式 def __unicode__(self): # __str__ on Python 3 return self.underwriter
補充知識:django 自定義用戶表和使用admin來管理數(shù)據(jù)庫
django 自定義用戶表
在使用django操作數(shù)據(jù)庫時,django中生成默認的User表,其中的字段已經(jīng)可以滿足我們的日常需求。但有時候,我們自己需要更多的字段,我們就可以自定義用戶表。來替換django自帶的User表。
from django.db import models from django.contrib.auth.models import AbstractUser class User(AbstractUser): phone = models.CharField(max_length=11, null=True, blank=True) nickname = models.CharField(max_length=50, null=True, blank=True) img = models.ImageField(upload_to="upload/", default="static/upload/a.jpg", max_length=100) # upload_to 圖像上傳地址 class Meta: db_table = "user" verbose_name = '用戶' verbose_name_plural = verbose_name
注意,User類需要繼承AbstractUser;
在settings.py 中添加:
AUTH_USER_MODEL = 'app名.類名'
在命令行中輸入命令,生成用戶表。
db_table = “user” 自定義表名為user
Django 使用admin來管理數(shù)據(jù)庫中的內(nèi)容
Django提供了自帶的admin功能,可以很方便的管理網(wǎng)站。首先要運行python manage.py createsuperuser 命令來創(chuàng)建一個管理員賬戶。
注意需要輸入用戶名,郵箱,密碼等信息。
在admin.py中注冊模型:
from django.contrib import admin #引入要注冊的模型 from music.models import Music from music.models import Banner from user.models import User # Register your models here.注冊 admin.site.register(Music) admin.site.register(Banner) admin.site.register(User)
用瀏覽器訪問http://127.0.0.1:8000/admin/,輸入注冊的管理員賬戶和密碼。
可以對數(shù)據(jù)庫表進行簡單的增刪改查。
設(shè)置模型 models 的中文名,在models.py 類中添加:
class Meta: # 設(shè)置模型的名字,但是記得復(fù)數(shù)形式也要設(shè)置,否則有些地方就變成 verbose_name + s 了 verbose_name = '用戶' verbose_name_plural = verbose_name
刷新admin界面
以上這篇django admin后管定制-顯示字段的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytest-sugar?執(zhí)行過程中顯示進度條的腳本分享
Pytest-sugar是一款用來改善控制臺顯示的插件,增加了進度條顯示,使得在用例執(zhí)行過程中可以看到進度條,而且進度條是根據(jù)用例是否通過標(biāo)注不同顏色,非常醒目,接下來通過本文給大家分享下pytest?sugar?顯示進度條的腳本,感興趣的朋友一起看看吧2022-12-12Python super( )函數(shù)用法總結(jié)
今天給大家?guī)淼闹R是關(guān)于Python的相關(guān)知識,文章圍繞著super( )函數(shù)展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06基于python批量處理dat文件及科學(xué)計算方法詳解
今天小編就為大家分享一篇基于python批量處理dat文件及科學(xué)計算方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05