2.8.5Django --14.1Admin

Django目录:https://blog.csdn.net/qq_41106844/article/details/105554082

什么是Admin组件

admin组件是框架自动生成的后台管理界面。
从ORM模型中读取元数据,简单配置即可使用。
功能强大,可用于对数据库中的数据管理。

准备

AdminDemo.app01.models.py
-------------------------
from django.db import models

# Create your models here.

class User(models.Model):
    name = models.CharField(max_length=32)
    pwd = models.CharField(max_length=32)
    #外键
    roles = models.ManyToManyField('Role')

class Role(models.Model):
    title = models.CharField(max_length=32)
    #外键
    permissions = models.ManyToManyField('Permission')

class Permission(models.Model):
    title = models.CharField(max_length=32)
    url = models.CharField(max_length=32)

AdminDemo.app01.admin.py
-------------------------
#向admin注册
from django.contrib import admin

# Register your models here.

from app01.models import User
from app01.models import Role
from app01.models import Permission

admin.site.register(User)
admin.site.register(Role)
admin.site.register(Permission)

别忘了向setting注册。
生成表
makemigrations
migrate
创建超级用户:
createsuperuser
之后会有四个输入项,分别是:用户名,邮箱,密码,确认密码。
之后就可以登入admin。

 

 
20155953-5331c70ed9023688.png
admin后台

 

页面管理

 
20155953-d8eb0465bd18b41d.png
添加按钮
 
20155953-bea553c49225b7d7.png
添加页面
 
20155953-b6357fcf15ecfdd0.png
添加完成

自定义表单

这里我们看他的显示是对象(1),(2)这样的显示,现在我们要在模型表中加上:

    def __str__(self):
        return self.title
 
20155953-be14628dc440283a.png
页面显示

但是我们的页面只显示title这一个字段,可不可以让我们的url字段也显示出来呢?

AdminDemo.app01.admin.py
-------------------------
from django.contrib import admin

# Register your models here.

from app01.models import User
from app01.models import Role
from app01.models import Permission

admin.site.register(User)
admin.site.register(Role)

#继承ModelAdmin,使用我们自己定义的字段名。
class PermissionConfig(admin.ModelAdmin):
    list_display = ["title","url"]

admin.site.register(Permission,PermissionConfig)
 
20155953-a83302e018389a4b.png
页面显示

 

同样也可以加上id字段

 

from django.contrib import admin

# Register your models here.

from app01.models import User
from app01.models import Role
from app01.models import Permission

admin.site.register(User)
admin.site.register(Role)

class PermissionConfig(admin.ModelAdmin):
    list_display = ["id","title","url"]
    #如果单纯加上id,id是倒序排序的(按照添加顺序),所以要用ordering来改成升序。
    ordering = ["id"]

admin.site.register(Permission,PermissionConfig)

 
20155953-a97fa32f9dbd9ea7.png
页面显示

一些其他的配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒 暄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值