zoukankan      html  css  js  c++  java
  • django admin

    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)
          • 设置后的页面

             

  • 相关阅读:
    图像的分离合并
    图像旋转与格式转换
    图像的剪切和粘贴
    缩放图像
    遮罩混合
    透明度混合
    Anaconda安装jieba、snownlp等外部包
    anaconda3 中pip安装模块方法
    PHP读取文本文件内容并随机输出任意一行
    php读取在线远程txt文档内容到数组并遍历
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/11343286.html
Copyright © 2011-2022 走看看