• 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 = ( , )

  • 相关阅读:
    Flash Builder 使用
    解决谷歌地图偏移问题
    南京垃圾处理场分布图-益云地图
    在Oracle Spatial中增加Web Mercator投影坐标系
    学习和使用 Styled Layer Descriptor SLD样式文件
    jmeter安装教程
    Linux常见命令更新中...
    Python并发编程(线程队列,协程,Greenlet,Gevent)
    Python并发编程(线程,Threading模块,守护线程,gil锁,)
    Python并发编程(管道,数据共享,信号量,进程池)
  • 原文地址:https://www.cnblogs.com/py-peng/p/12636173.html
Copyright © 2020-2023  润新知