#前言:
该博客为小编Django基础知识操作博客的最后一篇,主要讲解了关于Admin站点的一些基本操作,小编会继续尽力更新一些优质文章,同时欢迎大家点赞和收藏,也欢迎大家关注等待后续文章。
一、简介:
Django的Admin站点是一个内置的功能,它提供了一个基于Web的界面,用于管理和维护Django应用程序的后台数据。通过Admin站点,你可以轻松地执行诸如创建、读取、更新和删除(CRUD)数据对象等常见操作,而无需编写自定义管理界面。
简单来说,Admin站点就是相当于提供了一个管理员平台,可以用来管理各种数据。
二、操作:
1、创建管理员用户:
在local下输入python manage.py createsuperuser。
注意:创建用户名不能于数据库中以有的用户名重复,否则会报错。
邮箱填不填写都无所谓,密码你输入的过程不会出现显示,密码一般要求是八位以上,不够八位会让你选择是否确认密码就为此密码。
还有,密码与用户名不要出现相同的字符段。
创建成功后就会进入这个页面:
而我们要将英文转换为中文就需要在setting文件下:
将
LANGUAGE_CODE = 'en-us'
改为:
LANGUAGE_CODE = 'zh-Hans'
2、注册模型类:
在新创建的应用中创建模型类。
注意:在创建模型类时候,verbose_name是对admin站点服务的,它不会迁移到数据库当中,也不需要迁移。
from django.db import models
class Goods(models.Model):
name=models.CharField(max_length=50,verbose_name='商品名称')
price=models.DecimalField(max_digits=11,decimal_places=3,verbose_name='价格')
sales=models.IntegerField(verbose_name='销量')
stock=models.IntegerField(verbose_name='库存')
class Meta:
db_table='goods'
verbose_name='商品数据表'
到所在的应用下的 rango.py 文件中进行注册。
方式一:
from django.contrib import admin
from rango.models import Goods
admin.site.register(Goods)
方式二:
@admin.register(Goods)
class GoodesAdmin(admin.ModelAdmin):
pass
此时admin站点为:
此时在admin站点当中就可以进行一个数据的简单增删改查。
3、修改admin站点中的应用名称:
到所在应用中的 __init__.py 添加:
default_app_config = 'rango.apps.RangoConfig'
在对应的应用中的 app.py 文件中设置站点使用的应用名称
在 app.py 的类中添加属性:
verbose_name='商品表'
4、admin模型类操作:
admin 模型类数据操作 , 在 admin.py 文件中操作:
@admin.register(Goods)
class GoodesAdmin(admin.ModelAdmin):
# list_display 在站点中显示指定字段的数据信息
list_display = ['id','name' , 'price' , 'sales']
# list_filter 选择指定的字段作为条件过滤
list_filter = ['name' , 'sales']
# list_per_page 设置分页 , 指定每一页有多少条数据
list_per_page = 2
# search_fields 配置搜索条件 , 指定字段用元组类型
search_fields = ('name','id')
# list_editable 配置在显示列表中设置允许修改的字段
list_editable = ('name' , 'price')
# fields 在数据详情页中设置指的允许修改的字段
# fields = ('name',)
# fieldsets 设置在数据详情页中分组显示数据字段
fieldsets = (
# ('分组名称' , {'fields' : [指定字段名]})
('商品基本信息' , {'fields':['name' , 'price']}),
('商品销量信息' , {'fields':['sales' , 'stock']}),
)
# 设置只读字段
readonly_fields = ('name',)
在 admin 站点中可以自定义字段,不影响数据库:
def num(g):
# 参数 g:下面的类会自动的将模型类传入
add = g.price * g.sales
return add
# 将自定义的字段名修改为中文 , 不显示函数名
num.short_description = '商品销售额'
@admin.register(Goods)
class GoodesAdmin(admin.ModelAdmin):
# list_display 在站点中显示指定字段的数据信息
list_display = ['id','name' , 'price' , 'sales' , num]
三、总结:
关于Django操作的一些基本知识点操作我在这儿就基本讲解完成了,后续小编会更新一些用Django来做项目和Redis数据库、Linux操作系统等内容,欢迎大家关注小编坐等更新,若是各位大神发现错误或者需要加的知识,欢迎大家前来指正,您的支持是我变强的最大动力!