Django admin

Django强大的功能之一就是提供了Admin后台管理界面,简单配置就可以对数据库内容做管理

创建ModelAdmin并注册

from django.contrib import admin
from . import models # version 1
admin.site.register(models.Author) # version 2
class AuthorAdmin(admin.ModelAdmin):
pass
admin.site.register(models.Author, AuthorAdmin) # version 3
@admin.register(models.Author)
class AuthorAdmin(admin.ModelAdmin):
pass

说明:

  • django启动时,会自动去app下寻找admin模块,生成后台页面
  • 自动根据model的Field类型设置Form类型

配置ModelAdmin

  • label名称,定义Model Field是指定verbose_name

  • 排除某些字段 exclude

  • 显示有些字段 fields

  • 搜索某列 search_fields

  • 添加日期标签过滤 date_hierarchy

  • 排序 ordering

  • 列表显示更多列 list_dispaly

# 当出现多个字段含义,list_display展示时
def display_book_authors(obj):
return ','.join([author.first_name for author in obj.authors.all() ]) display_book_authors.short_description = 'Authors' # 展示列明 @admin.register(models.Book)
class BookAdmin(admin.ModelAdmin):
fields = ('title', 'authors', 'publisher')
search_fields = ('title', 'authors')
date_hierarchy = 'publication_date'
ordering = ('-id', 'publication_date',)
list_display = ['title', 'publisher', display_book_authors, 'publication_date']

配置Action

def make_book_pub_date_now(modeladmin, request,queryset):
queryset.update(publication_date=datetime.datetime.now()) @admin.register(models.Book)
class BookAdmin(admin.ModelAdmin):
list_display = ['title', 'publisher', 'publication_date']
actions = [make_book_pub_date_now]

Django Admin 专题的更多相关文章

  1. 4-初识Django Admin

    初识Django Admin Django Admin是Django为我们提供的网站后台管理应用,通常网站,个人博客,CMS等都会有个后台管理界面,这个界面只有管理员权限的用户才能进入管理网站内容.管 ...

  2. Django admin美化插件suit应用[原创]

    前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...

  3. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

  4. Django admin 显示图片

    我有一个表用来储存轮播图片,有一个 `picture` 字段储存的是图片的url,图片的 url 通过上传文件到 cdn 获得.目前这个表的编辑是通过自定义一个 `ModelForm`,然后重写 Dj ...

  5. [系统开发] Django Admin上传图片简单校验

    我的 models里有个ImageField字段,用来保存用户头像,希望通过Django Admin上传时校验头像大小,如果太大就报错,并且不保存. 网上有不少方法,有的通过第三方软件实现,有的通过自 ...

  6. SQLAlchemy连接数据库并在django admin显示

    SQLAlchemy 0.7     postgersql  9.0 SQLAlchemy连接数据库有两种方法,一种是classic,一种是modern 1,modern方法 from sqlalch ...

  7. Django admin site(一)ModelAdmin Options

    Admin管理界面是django的杀手级应用.它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即向网站中添加内容. 要使用admin,可以按照下面的步骤: 将'dj ...

  8. Django Admin 简单部署上线

    前言 打算为公司弄一个管理公用密码的平台,由于比较懒,就选择使用Django admin,默认的admin并不漂亮,于是我使用了这个django-suit插件来美化 如图: 是不是比原来的漂亮多了. ...

  9. Django admin究竟要怎么写才优雅

    比如在Django admin 注册models时,会用到. 对于APP里自带的models,可以使用这种方式注册. from django.contrib import admin # Regist ...

随机推荐

  1. !学习笔记:前端测试 、前端调试、console 等

    http://www.cnblogs.com/rubekid/p/4851988.html 你真的了解 console 吗 2014 http://www.codeceo.com/article/ja ...

  2. 1. jdk内存配置

    -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m

  3. [leetcode]2. Add Two Numbers.cpp

    You are given two non-empty linked lists representing two non-negative integers. The digits are stor ...

  4. PHP 设计模式(一)

    基础的三种设计模式 工厂模式 为创建对象提供了一个统一的接口,好处是当被创建对象命名空间或者名称改变时,直接修改工厂的创建方法即可 <?php class Factory{ public sta ...

  5. 1.MySQL基础

    1.创建一个数据库: create database db_test; 2.创建一个表: MySQL [mysql]> use db_test; Database changed MySQL [ ...

  6. java文件转发

    实际开发情景中,有时会遇到文件需要从一台服务器发到另一台服务器的情况,比如外网发到内网,服务器之间文件同步的情况. 就可以用文件转发. 转发端代码: /** * * @param fileName 保 ...

  7. POJ-2387.Til the Cows Come Home.(五种方法:Dijkstra + Dijkstra堆优化 + Bellman-Ford + SPFA + Floyd-Warshall)

    昨天刚学习完最短路的算法,今天开始练题发现我是真的菜呀,居然能忘记邻接表是怎么写的,真的是菜的真实...... 为了弥补自己的菜,我决定这道题我就要用五种办法写出,并在Dijkstra算法堆优化中另外 ...

  8. 禁止 pdf 下载、打印的方法

    https://blog.csdn.net/For_GG/article/details/78616063 https://blog.csdn.net/xiangcns/article/details ...

  9. Cannot resolve method

    1.问题描述: 本人idea下拉项目,结果impl里的类满屏的红色 2.解决方法 步骤: File --> Settings --> Plugins -->搜索并安装lom即可

  10. PHP并发之CURL

    <?php $start_time = microtime(true); $url = array(); for ($i=0;$i<1000;$i++){ $url[] = "h ...