iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Django中的Admin管理工具具体用法
  • 206
分享到

Django中的Admin管理工具具体用法

2023-06-02 02:06:18 206人浏览 泡泡鱼
摘要

这篇文章主要讲解了“Django中的Admin管理工具具体用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DjanGo中的Admin管理工具具体用法”吧!Django admin自动管理工

这篇文章主要讲解了“Django中的Admin管理工具具体用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DjanGo中的Admin管理工具具体用法”吧!

Django admin自动管理工具是 django.contrib 的一部分,我们可以在项目的 settings.py文件的 INSTALLED_APPS设置中看到它,可以将它看成django本身自带的一个app应用程序。

INSTALLED_APPS = (    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',)

django.contrib是一套庞大的功能集,它是Django基本代码的组成部分。

管理工具

在项目的urls.py文件中添加url(r'^admin/' ,admin.site.urls),一般在生成项目时会自动设置好,我们只需要去掉注释就行。

from django.conf.urls import urlfrom django.contrib import adminurlpatterns = [    url(r'^admin/', admin.site.urls),]

使用管理工具

启动开发服务器,然后在浏览器中访问 Http://127.0.0.1:8000/admin/,得到登陆界面,如下图所示:

Django中的Admin管理工具具体用法

接着可以通过命令 python manage.py createsuperuser来创建超级用户。

>> Python manage.py createsuperuserUsername (leave blank to use 'root'): 用户名Email address: 邮箱PassWord: 密码Password (again):  确认密码Superuser created successfully.

创建好超级用户之后我们可以在刚刚的那个登录界面输入用户名和密码,登录成功后的界面如下所示:

Django中的Admin管理工具具体用法

为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin。比如我们之前在TestApp中已经创建了模型Test。修改TestApp/admin.py文件:

from django.contrib import adminfrom TestApp.models import Test# ReGISter your models here.admin.site.register(Test)

在网页中刷新后即可看到TestApp数据表,如下图:

Django中的Admin管理工具具体用法

复杂的后台数据模型

我们的django页面管理功能非常强大,完全有能力处理更加复杂的数据模型。

首先我们可以在TestApp/models.py文件中增加两个表(数据模型):

from django.db import models# Create your models here.class Test(models.Model):    name = models.CharField(max_length=20)class Contact(models.Model):    name = models.CharField(max_length=200)    age = models.IntegerField(default=0)    email = models.EmailField()    def __unicode__(self):        return self.nameclass Tag(models.Model):    contact = models.ForeignKey(Contact, on_delete=models.CASCADE, )    name = models.CharField(max_length=50)    def __unicode__(self):        return self.name

上述两个表中,Tag以Contact为外部键。一个Contact可以对应多个Tag。

在TestApp/admin.py文件中注册多个模型并显示:

from django.contrib import adminfrom TestApp.models import Test,Contact,Tag# Register your models here.admin.site.register([Test, Contact,Tag])

刷新管理页面,显示结果如下所示:

Django中的Admin管理工具具体用法

在以上管理工具我们就能进行复杂模型操作。

自定义表单

我们可以自定义管理页面,来取代默认的页面。比如上面的 “add” 页面。我们想只显示 name 和 email 部分。修改 TestApp/admin.py:

from django.contrib import adminfrom TestApp.models import Test, Contact, Tag# Register your models here.class ContactAdmin(admin.ModelAdmin):    fields = ('name', 'email')admin.site.register(Contact, ContactAdmin)admin.site.register([Test, Tag])

以上代码定义了一个 ContactAdmin 类,用以说明管理页面的显示格式。其中fields 属性定义了要显示的字段。

由于该类对应的是 Contact 数据模型,我们在注册的时候,需要将它们一起注册。显示效果如下:

Django中的Admin管理工具具体用法

还可以将输入栏分块,每个栏也可以定义自己的格式。修改 TestApp/admin.py为:

from django.contrib import adminfrom TestApp.models import Test, Contact, Tag# Register your models here.class ContactAdmin(admin.ModelAdmin):    fieldsets = (        ['Main', {            'fields': ('name', 'email'),        }],        ['Advance', {            'classes': ('collapse',),  # CSS            'fields': ('age',),        }]    )admin.site.register(Contact, ContactAdmin)admin.site.register([Test, Tag])

上面的栏目分为了 Main 和 Advance 两部分。classes 说明它所在的部分的 CSS 格式。这里让 Advance 部分隐藏:

Django中的Admin管理工具具体用法

Advance 部分旁边有一个 Show 按钮,用于展开,展开后可点击 Hide 将其隐藏,如下图所示:

Django中的Admin管理工具具体用法

内联(Inline)显示

上面的 Contact 是 Tag 的外部键,所以有外部参考的关系。而在默认的页面显示中,将两者分离开来,无法体现出两者的从属关系。我们可以使用内联显示,让 Tag 附加在 Contact 的编辑页面上显示。

修改TestApp/admin.py:

from django.contrib import adminfrom TestApp.models import Test, Contact, Tag# Register your models here.class TagInline(admin.TabularInline):    model = TaGClass ContactAdmin(admin.ModelAdmin):    inlines = [TagInline]  # Inline    fieldsets = (        ['Main', {            'fields': ('name', 'email'),        }],        ['Advance', {            'classes': ('collapse',),            'fields': ('age',),        }]    )admin.site.register(Contact, ContactAdmin)admin.site.register([Test])

访问页面后的效果图如下所示:

Django中的Admin管理工具具体用法

列表页的显示

我们也可以自定义Contact 的列表页的显示,比如在列表中显示更多的栏目,只需要在 ContactAdmin 中增加 list_display 属性:

from django.contrib import adminfrom TestApp.models import Test, Contact, Tag# Register your models here.class TagInline(admin.TabularInline):    model = Tagclass ContactAdmin(admin.ModelAdmin):    list_display = ('name', 'age', 'email')  # list    inlines = [TagInline]  # Inline    fieldsets = (        ['Main', {            'fields': ('name', 'email'),        }],        ['Advance', {            'classes': ('collapse',),            'fields': ('age',),        }]    )admin.site.register(Contact, ContactAdmin)admin.site.register([Test])

刷新页面后效果如图所示:

Django中的Admin管理工具具体用法

搜索功能

搜索功能在管理大量记录时非常有,我们可以使用 search_fields 为该列表页增加搜索栏:

from django.contrib import adminfrom TestApp.models import Test, Contact, Tag# Register your models here.class TagInline(admin.TabularInline):    model = Tagclass ContactAdmin(admin.ModelAdmin):    list_display = ('name', 'age', 'email')  # list    search_fields = ('name',)    inlines = [TagInline]  # Inline    fieldsets = (        ['Main', {            'fields': ('name', 'email'),        }],        ['Advance', {            'classes': ('collapse',),            'fields': ('age',),        }]    )admin.site.register(Contact, ContactAdmin)admin.site.register([Test])

感谢各位的阅读,以上就是“Django中的Admin管理工具具体用法”的内容了,经过本文的学习后,相信大家对Django中的Admin管理工具具体用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Django中的Admin管理工具具体用法

本文链接: https://www.lsjlt.com/news/228517.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Django中的Admin管理工具具体用法
    这篇文章主要讲解了“Django中的Admin管理工具具体用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Django中的Admin管理工具具体用法”吧!Django admin自动管理工...
    99+
    2023-06-02
  • Django admin管理工具
    Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: # Application ...
    99+
    2023-01-30
    管理工具 Django admin
  • Django之admin管理工具
      一、基本设置   1,应用注册   若要把app应用显示在后台管理中,需要在admin.py中注册。有两种方式注册   1.1 方式一: from django.contrib import admin from blog.mode...
    99+
    2023-01-30
    管理工具 Django admin
  • Django Admin 管理工具的实现
    Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: /HelloWorld/H...
    99+
    2024-04-02
  • Linux svn管理工具命令具体有哪些
    Linux svn管理工具命令具体有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在本篇中还是会结合实例向大家介绍在Linux svn中几个不经常使用的命令。版本库下的...
    99+
    2023-06-16
  • django中websocket的具体使用
    websocket是一种持久化的协议,HTTP协议是一种无状态的协议,在特定场合我们需要使用长连接,做数据的实时更新,这种情况下我们就可以使用websocket做持久连接。http与...
    99+
    2024-04-02
  • Node.js打包管理工具NPM用法
    目录一、NPM使用介绍二、NPM全局安装和本地安装本地安装:全局安装:本地安装与全局安装命令:三、npm安装package.json四、npm安装模块五、模块的其他操作六、版本号七、...
    99+
    2024-04-02
  • podman容器工具的具体使用
    目录podman简介Podman和Docker的主要区别是什么?podman安装使用配置镜像加速相关工具podman简介 Podman是一个开源项目,可在大多数Linux平台上使用并...
    99+
    2024-04-02
  • 打开navicat管理工具的方法
    这篇文章主要介绍打开navicat管理工具的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  安装navicat之后,一般会在桌面创建快捷方式,直接双击快捷方式就可以运行了。如果...
    99+
    2024-04-02
  • Go语言包管理工具Godep的用法
    一、为什么要包管理 默认Go的第三方包都是放在Gopath的src目录下,而且这些包都没有版本号的概念,这样的可能会出现一些问题。 举个例子:当A同事将开发完程序之后,此时可能引用了...
    99+
    2024-04-02
  • 常用的绩效管理工具
    简介 在现代企业中,绩效管理是至关重要的。它可以帮助企业评估员工的表现,提供反馈和指导,以及制定个人和团队目标。为了有效地进行绩效管理,许多企业使用各种工具和技术。本文将介绍一些常用的绩效管理工具,并解释它们的功能和优势。1. OKR(Ob...
    99+
    2024-01-31
    管理工具 绩效 常用
  • Node.js包管理工具npm和yarn的用法
    这篇文章主要讲解了“Node.js包管理工具npm和yarn的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js包管理工具npm和yarn的用...
    99+
    2024-04-02
  • 多媒体信息管理工具Librarian Pro Mac
    Librarian Pro Mac激活版是Mac平台上一套能够为您管理Mac上各种多媒体文件资源的工具。这款Librarian Pro for Mac多媒体信息管理可以轻松管理各种视频,音乐,文件等内容,为您轻松收藏您喜欢的文件。有了Lib...
    99+
    2023-06-05
  • Python包管理工具pip用法详解
    pip提供我们各色各样的软件(第三方库),而这些第三方库又可以给我们实现各种各样不同的功能,科学计算、画图、操作文件、聊天…… 我们可以通过Cmd终端、P...
    99+
    2024-04-02
  • Java工作队列的具体用法
    这篇文章主要介绍“Java工作队列的具体用法”,在日常操作中,相信很多人在Java工作队列的具体用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java工作队列的具体用法”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-05-30
    java
  • django中的auth模块与admin后台管理方法
    目录1. auth模块1.1 auth模块的常用方法1.2 如何扩展auth_user表2.admin后台管理2.1 admin后台管理的准备工作2.2 为admin后台设置样式和增...
    99+
    2024-04-02
  • Django 序列化的具体使用
    目录一、简介二、使用1.基本使用2.自定义序列化字段3.连表序列化以及深度控制4.序列化字段url一、简介 django rest framework 中的序列化组件,可以说是其核...
    99+
    2024-04-02
  • oracle管理工具的介绍
    oracle管理工具的介绍(1)===================================================================sql*plus是oracle自带的工具...
    99+
    2024-04-02
  • ReactMobx状态管理工具的使用
    目录Mobx与redux的区别使用安装observable&&autorunaction使用装饰器写法runInAction(异步)Mobx与redux的区别 mob...
    99+
    2023-02-06
    React Mobx React Mobx状态管理 React状态管理
  • Java计时器工具StopWatch的具体使用
    目录前言Spring StopWatch实践例子源码分析lang3 StopWatch总结前言 平常,我们想要统计某一段代码块,或某一个方法的执行时间,最简单的是采用如下的方式。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作