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‘),
        }),
    )
时间: 2024-10-28 16:30:02

Django admin的相关文章

Django admin 中抛出 'WSGIRequest' object has no attribute 'user'的错误

这是Django版本的问题,1.9之前,中间件的key为MIDDLEWARE_CLASSES, 1.9之后,为MIDDLEWARE.所以在开发环境和其他环境的版本不一致时,要特别小心,会有坑. 将settings里的MIDDLEWARE_CLASSES默认配置顺序改成如下 MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware', 'django.middleware.common.CommonMiddlewar

Django Admin site 显示问题

Django Admin site 显示问题 今天配置了一下Django admin site,可是admin site的显示有一些问题,当我打开源码.訪问里面的admin 的css 文件时候,http://localhost:8000/static/admin/css/base.css, 却得到了一个404界面错误. 这里提供几个解决方式: 1. 在 settings.py 文件内, 把 django.contrib.staticfiles 增加到 INSTALLED_APPS 在又一次启动s

Django admin 的 9 个技巧

Tip 1:Django admin 后台不限于用 Django 开发的网站 虽然 Django admin 管理界面可以非常友好的用在 Django 项目的其它部分,它同样可以很容易用于其它像传统的数据库或具有一个可怕的的管理界面的网站.而且这也是评估 Django 是否会满足您的需求的最佳途径. 你需要做的仅是: 在你的 Django 项目中建立一个新的应用,并确保你已经连接好传统数据库 ,通过 settings.py 文件中的 DATABASES 的设置. 将你的数据表定义为 Django

django admin页面样式丢失问题

wamp 配置django admin页面样式丢失问题 第一种方法:在apache配置文件httpd.conf中加入如下代码:Alias /static "E:\Python27\Lib\site-packages\django\contrib\admin\static"<Directory "E:\Python27\Lib\site-packages\django\contrib\admin"> Options Indexes FollowSymLin

Django admin site(一)ModelAdmin Options

Admin管理界面是django的杀手级应用.它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即向网站中添加内容. 要使用admin,可以按照下面的步骤: 将'django.contrib.admin'加入setting的INSTALLED_APPS配置中. 保证INSTALLED_APPS中包含'django.contrib.auth','django.contrib.contenttypes','django.contrib.messages'和'djan

The django admin site之list_display

参考文章: https://docs.djangoproject.com/en/dev/ref/contrib/admin/  (The Django admin site) List_display models.py from django.db import models from django.utils.html import format_html class Author(models.Model):     name = models.CharField(max_length=3

定制django admin页面的跳转

在django admin的 change_view,  add_view和delete_view页面,如果想让页面完成操作后跳转到我们想去的url,该怎么做 默认django admin会跳转到changelist_view页面 ------------------------------ 下面的代码是django1.6的 下面是一个可行的做法,写admin model的时候重写父类admin.ModelAdmin的change_view 方法 from django.contrib impo

django admin 中文报错incorrect string value解决方案

对于错误" Incorrect string value: '\xE6\xA2\xB5\xE8\x92\x82...'for column 'object_repr' at row 1 解决方法是设置django_admin_log表的object_repr一项使用utf8_unicode_ci: 对于错误"  Incorrect string value: '\xE6\xA2\xB5\xE8\x92\x82...'for column 'change_message' at row

django admin 密码重置

想用下django admin后台更新下数据,突然忘记了密码了 看了下数据库,密码是加密的,所以直接从数据库获得是不可能了 那么就用Django shell:python manage.py shell 然后获取你的用户名,并且重设密码:from django.contrib.auth.models import User user = User.objects.get(username='admin')user.set_password('new_password')user.save() 这