diango站点管理

使用站点管理

Django中默认集成了后台数据管理页面,通过简单的配置就可以实现模型后台的Web控制台,如果没有集成,自己在settings中的INSTALLED_APPS添加'django.contrib.admin'应用就好了

设置为中文

settings中LANGUAGE_CODE = 'zh-hans'

设置时间,时区

TIME_ZONE='Asia/Shanghai'

在浏览器中输入127.0.0.1:端口号/admin,可进入后台数据管理页面:

要进入站点管理首先需要创建一个管理员账户:使用指令python manager.py createsuperuser,根据提示,创建系统管理员

登录之后可以看到以下界面:

在这里插入图片描述

自定义站点管理

在应用目录下的admin.py文件中,写入代码:

from django.contrib import admin

# Register your models here.
from app01.models import Person


class PersonAdmin(admin.ModelAdmin):
    # 设置显示的字段 数组里放的是模型属性
    list_display = ['id', 'p_name', 'p_age']



admin.site.register(Person, PersonAdmin)      

注:Person为自己在model中创建的模型

在这里插入图片描述

APP01下的为自定义创建的站点管理

在这里插入图片描述

点击可以看到Person下保存的所有数据

可以看到以上姓名栏为中文,年龄栏为英文:该样式原因为models中定义Person时,为姓名栏添加了verbose_name属性,以下为完整代码:

from django.db import models

# Create your models here.

class Person(models.Model):
    p_name = models.CharField(
        max_length=30,
        verbose_name='姓名'
    )
    p_age = models.IntegerField(
        default=0
    )

    def __str__(self):
        return self.p_name

可以在class Person的代码中添加代码:

class Meta:
        verbose_name = '人'

可以将Person名字重命名为中文,效果如下:

在这里插入图片描述

  • 显示规则

    • list_display 显示字段

    • list_filter 过滤字段

    • search_fields 搜索字段

    • list_per_page 分页,每页显示多少条数据

    • ordering 排序规则

    • 分组显示 fieldsets = (

    (‘姓名’,{fields:(‘p_name’)}),

    (‘年龄’,{fields:(‘p_age’)}),

    )

  • 修改规则

    • fields 显示的字段
    • exclude 不显示的字段

以下为写入多种规则的样式:

from django.contrib import admin

# Register your models here.
from app01.models import Person


class PersonAdmin(admin.ModelAdmin):
    # 传递函数
    def setNewAge(self):
        if self.p_age > 45:
            return '中年人'
        else:
            return self.p_age

    # 设置显示的字段 数组里放的是模型属性
    list_display = ['id', 'p_name', 'p_age', setNewAge]  # 将函数写入显示的字段中才会在站点中显示
    # 设置过滤条件
    list_filter = ['p_age', 'p_name']
    # 设置搜索字段
    search_fields = ['p_name', 'p_age']
    # 设置分页  后面填入每一页的数据数量
    list_per_page = 10
    # 设置排序规则   字段名前方加负号表示逆序,否则正序
    ordering = ['-p_age']



admin.site.register(Person, PersonAdmin)

站点样式:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值