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的区别