首页 > 其他分享 >django 内置后台管理工具

django 内置后台管理工具

时间:2024-09-08 10:37:44浏览次数:10  
标签:内置 admin 模型 py 管理工具 django models 注册 Django

目录
Django 的内置管理后台是一个强大的工具,允许你以图形化界面管理数据。

注册模型是什么

注册模型 的意思是将你的应用中的模型(即数据库表)与 Django 的内置管理后台关联起来,以便通过图形化界面的 Django admin 对这些模型的数据进行管理。

具体来说,当你将模型在 admin.py 文件中注册之后,Django admin 界面就会显示该模型对应的数据库表。通过 Django admin,管理员可以对模型的数据进行操作,例如查看、添加、编辑、删除数据记录,而不需要直接操作数据库。

详细解释:

  • 模型(Model):在 Django 中,模型对应于数据库中的表。模型定义了表的结构(列)和一些业务逻辑。

  • 注册模型到 admin:在 admin.py 文件中注册模型的目的是告诉 Django admin 界面,它应该显示这些模型并允许管理员操作与之相关的数据。

要在你的 myapp 应用中启用管理后台,你需要按照以下步骤进行配置:

1. 确保应用被注册到 INSTALLED_APPS

首先,确保你的 myapp 应用已经在 settings.py 文件的 INSTALLED_APPS 中注册。例如:

INSTALLED_APPS = [
    ...
    'django.contrib.admin',  # 确保 Django 的 admin 应用被启用
    'myapp',  # 确保你的应用被注册
    ...
]

2. 创建超级用户

要访问管理后台,你需要创建一个超级用户。运行以下命令创建:

python manage.py createsuperuser

按照提示输入用户名、电子邮件和密码。创建超级用户后,你可以使用这些凭据登录管理后台。

3. 注册你的模型到管理后台

假设你的 myapp 应用中有一个模型 User,对应的数据库表是 myapp_user。如果你希望通过 Django admin 管理这张表中的数据,你需要在 myapp/admin.py 中注册这个模型。

模型定义 (models.py):
from django.db import models

class User(models.Model):
    user = models.CharField(max_length=30,verbose_name="用户名") #用户名
    name = models.CharField(max_length=30,verbose_name="姓名") #姓名
    sex = models.CharField(max_length=10,verbose_name="性别") #性别
    age = models.IntegerField(verbose_name="年龄")            #年龄
    label = models.CharField(max_length=100,verbose_name="标签")  #标签
    create_time = models.DateTimeField(auto_now_add=True,null=True, blank=True,verbose_name="创建时间")
    update_time = models.DateTimeField(auto_now=True,null=True, blank=True,verbose_name="更新时间")

    class Meta:
        app_label = 'myapp'        #指定所属应用
        db_table = 'myapp_user'    #指定数据表名称
        verbose_name = "用户表"     #指定页面显示应用名称
        verbose_name_plural = "用户表" #指定页面显示应用名称,全量指定
        ordering = ['user']         #指定排序字段

    #定义一个返回的名称,默认返回self
    def __str__(self):
        return self.name
admin.py 中注册模型:
from django.contrib import admin

# Register your models here.


from myapp.models import User
admin.site.register(User)

通过这种方式,MyModel 就会出现在 Django admin 后台中,你可以通过 /admin/ 页面来对该模型的数据进行增删改查。

4. 启动 Django 开发服务器

启动 Django 开发服务器以访问管理后台:

python manage.py runserver

5. 访问管理后台

在浏览器中,访问以下 URL 进入 Django 的管理后台:

http://127.0.0.1:8000/admin/

使用你在 createsuperuser 时创建的超级用户凭据登录后台。

注册多个模型的方法:

你可以按如下方式在 admin.py 中注册多个模型:

假设你的模型文件 (models.py) 中有多个模型:

from django.db import models

class ModelA(models.Model):
    name = models.CharField(max_length=100)

class ModelB(models.Model):
    title = models.CharField(max_length=200)

class ModelC(models.Model):
    description = models.TextField()

admin.py 中注册多个模型:

from django.contrib import admin
from myapp.models import User , IdCard , Project

# 注册多个模型到 admin
admin.site.register(User)
admin.site.register(IdCard)
admin.site.register(Project)

这样,ModelAModelBModelC 都会在 Django 管理后台中显示出来,允许你对它们的数据进行增删改查。

使用装饰器进行注册:

除了使用 admin.site.register() 方法,你还可以通过装饰器来简化注册过程:

from django.contrib import admin

# Register your models here.

from myapp.models import User , IdCard , Project

@admin.register(User)
class User(admin.ModelAdmin):
    pass

@admin.register(IdCard)
class IdCard(admin.ModelAdmin):
    pass

@admin.register(Project)
class Project(admin.ModelAdmin):
    pass

# admin.site.register(User)
# admin.site.register(IdCard)
# admin.site.register(Project)

总结

要在 myapp 中启用 Django 的管理后台,你需要确保以下几点:

  1. INSTALLED_APPS 中注册 myappdjango.contrib.admin
  2. 创建超级用户。
  3. admin.py 文件中注册你想在后台管理的模型。
  4. 启动服务器并访问 /admin/
  5. 配置注册多模型

标签:内置,admin,模型,py,管理工具,django,models,注册,Django
From: https://www.cnblogs.com/anyux/p/18402648

相关文章

  • 计算机毕业设计django+vue大参林药品信息管理系统的设计与实现【开题+论文+程序】
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在医疗健康行业蓬勃发展的今天,药品信息管理系统的建设对于提升药品管理效率、保障患者用药安全、促进医药企业健康发展具有重要意义。大参......
  • django基于python的医院预约挂号的设计与实现(源码+文档+调试+讲解)
    收藏关注不迷路!!......
  • Python毕业设计基于Django的图书借阅系统的设计与实现(源码+LW+部署讲解)
    文末获取资源,收藏关注不迷路文章目录一、项目介绍二、主要使用技术三、研究内容四、核心代码五、文章目录一、项目介绍本“期待相遇”图书借阅系统是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了......
  • django orm操作
    目录ORM是什么ORM的工作原理:ORM的优点:常见的ORM框架:创建DjangoORM模型类示例模型类步骤1:创建迁移文件步骤2:应用迁移到数据库步骤3:查看迁移的数据库表结构常见问题要数据库中检查常用字段类型元选项(MetaOptions)简化操作orm常见的模型操作模型操作新增数据save()方法c......
  • 828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台
    需要了解本文章主要讲述在华为云FlexusX实例上使用docker快速部署Servas,一款功能强大的自托管书签管理工具,专为追求高效与个性化的用户设计。选择合适的云服务器:本文采用的是华为云服务器FlexusX实例(推荐使用)连接方式:本文通过本地shell方式,通过弹性IP远程连接......
  • web 开发(2)-Django
    MVCModel主要实现对数据库层面的访问,对数据库中的数据进行增删改查操作View,封装结果,生成展示html内容Controller,用于接受请求,处理业务逻辑,与Model和View实现交互,返回结果MVT流程Model主要实现对数据库层面的访问,对数据库中的数据进行增删改查操作View,相当于controlle......
  • 基于django+vue智能会议管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着企业规模的不断扩大和远程办公模式的兴起,会议管理成为了企业日常运营中不可或缺的一环。传统的手工或基于简单电子表格的会议管理方式......
  • 基于django+vue智能充电桩【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着新能源汽车产业的迅猛发展,电动汽车作为绿色出行的重要载体,其普及率日益提升。然而,电动汽车的广泛应用面临着一个关键挑战——充电基础......
  • 基于django+vue智慧阅读平台【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在信息爆炸的时代,阅读已成为获取知识、提升自我能力的重要途径。然而,面对海量的阅读资源和碎片化的信息环境,如何高效地选择与阅读成为了一......
  • Python毕业设计基于Django的动漫漫画手办周边商城
    文末获取资源,收藏关注不迷路文章目录一、项目介绍二、主要使用技术三、研究内容四、核心代码五、文章目录一、项目介绍动漫周边商城分为二个模块,分别是管理员功能模块和用户功能模块。管理员功能模块包括:文章资讯、文章类型、动漫活动、动漫商品功能,用户功能模块......