• djago后台管理页面


    
    
    from django.contrib import admin
    from blogtest.models import *
    #修改网页title和站点header。+
    admin.site.site_title = "显示title"
    admin.site.site_header = "显示抬头"
    
    
    # 定认一个编辑页的子字段 要在模型管理类中加入一个inlines=[sitr]
    class AreaStackedInline(admin.StackedInline):
        # 要写多类的名字
        model = AreaInfo
        # 下面新增的空行条数
        extra = 2
    
    
    # admin.site.register(导入进来的模型类名,自定义的模型管理类)
    # 写法一太麻烦 ,后台应用必须注册不然不显示
    # class BlogText(admin.ModelAdmin):
    #     # 指定每行显示的内容
    #     list_display = [
    #         "id",'atitle','aadd'
    #     ]
    # 注册模型类,必须在管理类后面,参数为(要显示的模型(类名),要显示的字段去哪个类中寻找)
    # admin.site.register(导入进来的模型类名,自定义的模型管理类)
    # admin.site.register(AreaInfo,BlogText)      # 不要忘记第二个参数
    
    # 写法二
    @admin.register(AreaInfo)
    class AreaInfoadmin(admin.ModelAdmin):
        # 可以写模型类属性也可以写模型类方法但要有返回值
        list_display = (
            # ID  父级地区    子级地区   父级地区
            'id', 'atitle', 'aadd', 'show_atitle','aParent'
        )
    
        # 每页显示行数
        list_per_page = 10
    
        # 下方:下拉列表框
        actions_on_bottom = True
        # 上方:下拉列表框
        actions_on_top = True
        # 右侧过滤栏
        list_filter = ['atitle']
        # 列表页上方搜索框!!!!!!!!!!!!!!!!!!!!!跟拒哪一个字段搜索
        search_fields = ['atitle']
        # 显示编辑页的字段顺序+
        # fields = ['atitle','id']
    
        fieldsets = (
            ('基本',{'fields':['atitle']}),
            ('高级',{'fields':['aadd']})
        )
    
        # 在编辑页中显示子集
        inlines = [AreaStackedInline]
    
    
    
    =================分割线=======================
    # Project/models.py
    
    class AreaInfo(models.Model):
        atitle = models.CharField(max_length=20,verbose_name='城市')
        aadd = models.ForeignKey('AreaInfo', on_delete=models.CASCADE, null=True,verbose_name='父级地区')
    
        # 指定后台字段名
        def __str__(self):
            return self.atitle
    
        # 可以写进list_display的方法
        def show_atitle(self):
            return self.atitle
        # 指定show_atitle方法 跟据哪个字段进行排序
        show_atitle.admin_order_field='atitle'
        # 指定行首的名称
        show_atitle.short_description = '地区名称(方法列)'
    
        # 在管理页面显示父级地区方法
        def aParent(self):
            # 如果有父级地区就返回没有就返回空
            if self.aadd is None:
                return ''
            else:
                return self.aadd
        aParent.short_description='父级地区(方法列)'
  • 相关阅读:
    使用C++与SFML编写一个简单的撞球游戏Part3——创建游戏启动界面
    生命游戏
    一道面试题
    为目标数字添加逗号分隔,由 baidu.number.comma 想到的
    制作JavaScript选择器(1)解析令牌
    Team Foundation 使用第三方比较工具
    Levenshtein Distance算法
    计算颜色的亮度值
    整理QUnit API
    Scrum笔记整理
  • 原文地址:https://www.cnblogs.com/vip136510786/p/13304264.html
Copyright © 2020-2023  润新知