资讯专栏INFORMATION COLUMN

6-django——admin站点管理

Leck1e / 2687人阅读

摘要:概述负责添加修改删除内容,开发这些重复的功能是一件没有创造力的事情。然后进入该目录执行安装配置主路由模块自动注册需要版本控制的如果出现是由于数据库中没有的表的问题,可以删除数据库,执行迁移。。文件上传分页富文本

概述

负责添加、修改、删除内容,开发这些重复的功能是一件没有创造力的事情。因此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界面的显示方式

属性说明

关联对象

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

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

使用装饰器注册
@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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41976.html

相关文章

发表评论

0条评论

Leck1e

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<