6-django——admin站点管理

概述

负责添加、修改、删除内容,开发这些重复的功能是一件没有创造力的事情。因此Django会根据定义的模型自动生成管理模块

配置Admin应用

在settings.py文件中的INSTALL_APPS中添加'django.contrib.admin'

默认已经配置

创建管理员用户

python manage.py createsuperuser

按提示依次输入用户名、邮箱、密码

登录

浏览器中输入 127.0.0.1:8000/admin

汉化

修改settins.py文件中的配置:

LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

管理数据表

引用目录下的admin.py文件中注册模型

from django.contrib import admin

# Register your models here.
from myApp.models import Grade, Student
admin.site.register(Grade)
admin.site.register(Student)

自定义管理界面

ModelAdmin类是模型在Admin界面中的表现形式,通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式

属性说明

clipboard.png

关联对象

在添加班级时可以直接添加几个学生

class StudentInline(admin.TabularInline):
    model = Student
    extra = 2  # 可以添加2个学生
    
    
class GradeAdmin(admin.ModelAdmin):
    inlines = [StudentInline]
    list_display = ['pk', 'name', 'boyNum', 'girlNum', 'isDelete']

admin.site.register(Grade, GradeAdmin)

布尔值的显示问题

class StudentAdmin(admin.ModelAdmin):
    def sex(self):
        if self.sex:
            return '男'
        else:
            return '女'

    sex.short_description = '性别'

    def content(self):
        return self.content

    content.short_description = '内容'

    # 列表页属性
    list_display = ['pk', 'name', 'age', sex, content,
                    'grade', 'isDelete']

执行动作的位置

class StudentAdmin(admin.ModelAdmin):
    actions_on_bottom = True
    actions_on_top = True

clipboard.png

使用装饰器注册

@admin.register(Student)
class StudentAdmin(admin.ModelAdmin):
    actions_on_bottom = True
    actions_on_top = True
    def sex(self):
        if self.sex:
            return '男'
        else:
            return '女'

    sex.short_description = '性别'

    def content(self):
        return self.content

    content.short_description = '内容'

    # 列表页属性
    list_display = ['pk', 'name', 'age', sex, content,
                    'grade', 'isDelete']

    list_filter = ['grade']
    search_fields = ['content']
    list_per_page = 15
    # 添加,修改页属性
    # fields = ['name','age','sex','content','grade', 'isDelete']
    fieldsets = [
        ('base', {'fields': ['name', 'age', 'grade']}),
        ('more', {'fields': ['sex', 'content', 'grade', 'isDelete']}),
    ]

# admin.site.register(Student, StudentAdmin)

Xadmin自学

安装

https://github.com/sshwsfc/xa...

GitHub上下载 xadmin安装包,由于安装会报错,编码问题,需要修改压缩包中的一个文件,将压缩包中的README.rst 替换为自己新建的同样名字的空文件。 然后cmd进入该目录 执行安装

pip install xadmin-master.zip

配置

settings.py

INSTALLED_APPS = [
    'xadmin',
    'crispy_forms',
    'reversion',
]

主路由urls.py

import xadmin
xadmin.autodiscover()

# version模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()
urlpatterns = [
    url(r'xadmin/', include(xadmin.site.urls)),
]

如果出现no such table 是由于数据库中没有xadmin的表的问题,可以删除数据库,执行迁移。。

7-django——文件上传_分页_ajax_富文本_celery

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值