首页 > 其他 > 详细

django admin

时间:2019-08-13 00:33:18      阅读:108      评论:0      收藏:0      [点我收藏+]

django   admin


  • django项目创建的时候自动帮我们生成了admin的各个依赖的组件,我们在使用的时候直接访问    /admin   登录就可以了
  • 使用admin之间,首先要创建超级用户
    • python manager.py createsuperuser
  • 使用刚刚创建好的账号密码登录admin
  • 技术分享图片

    登录之后的界面

  • 注册自己的模型类
    • 创建模型类
      •  1 from django.db import models
         2 from apps.base_model import BaseModel
         3 
         4 
         5 # Create your models here.
         6 
         7 
         8 class Project(BaseModel):
         9     name = models.CharField(max_length=20)
        10 
        11     class Meta:
        12         db_table = tbl_project
        13         verbose_name = 项目
        14         verbose_name_plural = verbose_name

        在app的models里面创建模型类

    • 注册模型类
      • from django.contrib import admin
        from .models import Project
        
        # Register your models here.
        
        
        admin.site.register(Project)
      • 在models.py的同级目录下的admin里面注册该模型类
    • 刷新页面
      • 技术分享图片

         

    • 修改组名
      • from django.apps import AppConfig
        
        
        class ApiConfig(AppConfig):
            name = apps.api
            verbose_name = api文档
      • 在models.py的同级目录下的apps.py里面找到该项目的app类,增加verbose_name字段
      • 刷新页面
        • 技术分享图片
    • 修改表内容的显示方式
      • 原始的显示页面
        • 技术分享图片
      • 修改admin.py文件
        •  1 from django.contrib import admin
           2 from .models import Project
           3 
           4 
           5 # Register your models here.
           6 
           7 
           8 class ProjectAdmin(admin.ModelAdmin):
           9     list_display = [id, name, insert_time, update_time]
          10 
          11 
          12 admin.site.register(Project, ProjectAdmin)

           创建一个管理类,继承admin.ModelAdmin,增加list_display属性,该属性为一个列表,字表里面的元素字符串都必须为被管理模型类的所有的字段,然后在注册模型类的时候将模型类的管理类一起注册

        • 修改后的显示页面
          • 技术分享图片

             

        • 其他属性作用详情
          •  1 from django.contrib import admin
             2 from .models import Project
             3 
             4 
             5 # Register your models here.
             6 
             7 
             8 class ProjectAdmin(admin.ModelAdmin):
             9     # 显示列表页的设置
            10     list_display = [id, name, insert_time, update_time]  # 显示的字段
            11     ordering = [id]  # 修改排序方式
            12     list_display_links = [id, name]  # 制定字段点击跳转
            13     search_fields = [name, insert_time, update_time]  # 制定搜索字段,当该字段未被定义时,搜索功能不存在
            14     list_filter = [insert_time, update_time, delflag]  # 制定过滤字段,当该字段未被定义时,过滤功能不存在
            15     list_per_page = 2  # 制定每页显示的个数
            16 
            17     # 显示详情页的设置
            18     # fields = [‘name‘, ‘delflag‘]  # 制定显示详情页的内容,且和fieldsets属性冲突
            19     fieldsets = [  # 将详情页的显示内容分组显示,且和fields属性冲突
            20         (详情, {fields: [name]}),
            21         (设置, {fields: [delflag]}),
            22     ]
            23 
            24 
            25 admin.site.register(Project, ProjectAdmin)
        • 设置后的页面
          • 技术分享图片

            技术分享图片

             

         

django admin

原文:https://www.cnblogs.com/ivy-blogs/p/11343286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!