Django——Admin站点(Python)

发布于:2024-05-31 ⋅ 阅读:(142) ⋅ 点赞:(0)

#前言:

该博客为小编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操作系统等内容,欢迎大家关注小编坐等更新,若是各位大神发现错误或者需要加的知识,欢迎大家前来指正,您的支持是我变强的最大动力!


网站公告

今日签到

点亮在社区的每一天
去签到