zoukankan      html  css  js  c++  java
  • Django admin

    Django admin使用

    官方文档: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#

    一、list_display = ('title', 'pub_date', 'update_time',)

    ModelAdmin.list_display 
    class Person(models.Model):
        first_name = models.CharField(max_length=50)
        last_name = models.CharField(max_length=50)
         
        # 自定义方法
        def my_property(self):
            return self.first_name + ' ' + self.last_name
        my_property.short_description = "Full name of the person"
     
        full_name = property(my_property)

     在admin.py中,list_display 就是来配置要显示的字段的,当然也可以显示非字段内容,或者字段相关的内容

    from django.contrib import admin
    from .models import Article, Person
     
    class ArticleAdmin(admin.ModelAdmin):
        # 在django中横像显示的方法
        list_display = ('title', 'pub_date', 'update_time',)
     
     
    class PersonAdmin(admin.ModelAdmin):
        list_display = ('full_name',)
    
    # 绑定modules中的class
    admin.site.register(Article, ArticleAdmin)
    admin.site.register(Person, PersonAdmin)

    二、搜索功能:search_fields = ('title', 'content',) 这样就可以按照 标题或内容搜索了

    ModelAdmin.search_fields
    CharField(普通字段)     
        search_fields = ('title', 'content',) 
    
    ForeignKey(外键)   
        search_fields = ['user__email']

    三、筛选功能:list_filter = ('status',) 这样就可以根据文章的状态去筛选,比如找出是草稿的文章

    ModelAdmin.list_filter

     

    class PersonAdmin(admin.ModelAdmin):
        list_filter = ('is_staff', 'company')
    
    class PersonAdmin(admin.UserAdmin):
        list_filter = ('company__name',)
    
    admin.site.redigest(Person, PersonAdmin)

    四、新增或修改时的布局顺 

    ModelAdmin.fieldsets

     

    from django.contrib import admin
    
    class FlatPageAdmin(admin.ModelAdmin):
        fieldsets = (
            (None, {
                'fields': ('url', 'title', 'content', 'sites')
            }),
            ('Advanced options', {
                'classes': ('collapse',),
                'fields': ('registration_required', 'template_name'),
            }),
        )
  • 相关阅读:
    socket server的N种并发模型
    进程、线程以及Goroutine的区别
    分布式从ACID、CAP、BASE的理论推进
    epoll的理论与IO阻塞机制
    golang面试题知识点总结
    golang中如何进行项目模块及依赖管理
    面对golang中defer,要注意什么?
    Kaggle 学习之旅
    推荐在线学习读书网站
    k8s 的 dashboard 的实践
  • 原文地址:https://www.cnblogs.com/yxy-linux/p/6123254.html
Copyright © 2011-2022 走看看