Django admin.py

Posted Sun_先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django admin.py相关的知识,希望对你有一定的参考价值。

介绍

django amdin是django提供的一个后台管理页面,通过Web来实现对数据的操作,而使用django admin 则需要以下步骤:

  • 创建后台管理员
  • 配置url
  • 注册和配置django admin后台管理页面

快速使用

创建后台管理员

在命令行中输入:

python manage.py createsuperuser

 

配置URL

根urls.py,一般会默认创建为:admin/

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path(\'admin/\', admin.site.urls),
]

 

注册模型

在app/admin.py进行设置

from django.contrib import admin
from my_app import models

admin.site.register(models.Person)
admin.site.register(models.Hobby)

输入127.0.0.1/admin,登录进行管理。

 

设置表

设置表的名称

你可以看到上图名称,它是默认的你可以进行改变。

通过:class Meta下的属性进行改变。

 

其他设置

打开表后的显示

 进入Persons

这里默认返回,属性name,如果我还想显示age该如何操作。

# myapp/admin.py

from django.contrib import admin
from my_app import models

class Myperson(admin.ModelAdmin): # 继承
    list_display = (\'name\',\'age\')

admin.site.register(models.Person,Myperson) # 添加该类
admin.site.register(models.Hobby)

我想把NAME换成中文。

 

为数据添加索引功能

from django.contrib import admin
from my_app import models

class Myperson(admin.ModelAdmin): # 继承
    list_display = (\'name\',\'age\')
    search_fields = (\'name\',\'age\') # 可以通过名字,年龄

admin.site.register(models.Person,Myperson) # 添加该类
admin.site.register(models.Hobby)

 

为数据添加过滤

from django.contrib import admin
from my_app import models

class Myperson(admin.ModelAdmin): # 继承
    list_display = (\'name\',\'age\') # 搜索
    search_fields = (\'name\',\'age\') # 可以通过名字,年龄
    list_filter = (\'name\',) # 过滤
    
admin.site.register(models.Person,Myperson) # 添加该类
admin.site.register(models.Hobby)

 

更多

排序:ordering = ( , )

在界面编辑:list_editable = ( , )

 

以上是关于Django admin.py的主要内容,如果未能解决你的问题,请参考以下文章

django-admin 和django-admin.py的区别

django-admin.py和manage.py的用法

什么时候应该使用 django-admin.py 和 manage.py?

django-admin.py 不是内部或外部命令

Django的admin.py注册流程

找不到命令:django-admin.py