Django 之 Admin的简单用法


准备工作

汉化 admin 系统

# settings.py

LANGEUAGE_CODE = 'zh-hans'

创建管理员

# 命令行创建管理员用户,  根据提示输入密码等信息

python manage.py createsuperuser


将表注册到 admin 系统

  • 无需自定义条目展示页 - host/admin.py
    from app01 import models
    	
    # 将 app 中的表注册到 admin 中, admin.site.register(models.类名)
    # 只有被注册的表才能被 admin 系统管理
    admin.site.register(models.Host)
    
    
  • 需要自定义条目展示页 - host/admin.py
    from django.contrib import admin
    from host import models
    
    
    @admin.register(models.Host)
    class MyHost(admin.ModelAdmin):
        # 自定义参数内容
        # ..
        # ..
        
    

使用

models.py

from django.db import models

# Create your models here.


class Host(models.Model):
    # AutoField 表示自增列
    # primary_key 表示为该表主键
    id = models.AutoField(primary_key=True)
    # 修改字段名显示
    # 可以对 django 表单填写的数据进行约束, 如: uniqu, max_length 等
    hostname = models.CharField(max_length=16, verbose_name="主机名")
    ip_addr = models.CharField(max_length=32, verbose_name="IP地址", unique=True)

    # 修改表名显示
    class Meta:
        verbose_name = "主机信息"
        verbose_name_plural = verbose_name

    # 信息条目页面显示的内容, 如果不写则会展示 xx object(1), xx object(2)
    def __str__(self):
        return self.hostname


  • 管理页

在这里插入图片描述

  • 数据编辑页

在这里插入图片描述

  • 数据条目页

在这里插入图片描述


admin.py

from django.contrib import admin
from host import models


@admin.register(models.Host)
class MyHost(admin.ModelAdmin):
	# 数据条目页
	list_display = ["hostname", "ip_addr"]			# 展示这两列
	
	# 这两列只能同时存在一个
	list_editable = ["hostname", "ip_addr"]			# 可编辑的列
	list_display_links = ["hostname", "ip_addr"]	# 超链接的列
	
	# 用于筛选
	search_fields = ["hostname", "ip_addr"]			# 上方搜索框, 指定关键字搜索范围
	list_filter = ["hostname", "ip_addr"]			# 侧边筛选菜单, 可点击筛选符合条件的条目
	
	# 空值是默认显示, 如果列可编辑, 则不显示这个
	empty_value_display = "无数据"
		
		
	# 数据编辑页
	fields = ["ip_addr"]							# 只展示 ip_addr 这一列
	exclued = ["hostname"]							# 只不展示 hostname 这一列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值