一、Django Admin 管理工具

Django 提供了基于 web 的管理工具。

Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]

  django.contrib是一套庞大的功能集,它是Django基本代码的组成部分。

二、激活管理工具

通常我们在生成项目时会在 urls.py 中自动设置好,我们只需去掉注释即可。

配置项如下所示:

from django.conf.urls import url,include
from django.contrib import admin urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/', include('blog.urls')),
]

 当这一切都配置好后,Django 管理工具就可以运行了。

三、使用管理工具

启动开发服务器,然后在浏览器中访问 http://127.0.0.1/admin/,得到如下界面:

为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin。比如,我们之前在 blog.models 中已经创建了模型Place,Restaurant,Waiter

。修改blog/admin.py:

from django.contrib import admin
from blog.models import Blog,Author,Place,Restaurant,Waiter # Register your models here.
admin.site.register(Place)
admin.site.register(Restaurant)
admin.site.register(Waiter)

  

刷新后即可看到 Place,Restaurant,Waiter 数据表:

 这时,我们就可以管理数据表了。

四、admin界面汉化

默认admin后台管理界面是英文的,对英语盲来说用起来不方便。可以在settings.py中设置:

  1. LANGUAGE_CODE = 'zh-CN'
  2. TIME_ZONE = 'Asia/Shanghai'

1.8版本之后的language code设置不同:

  1. LANGUAGE_CODE = 'zh-hans'
  2. TIME_ZONE = 'Asia/Shanghai'

五、自定义展示字段

默认只会展示class中__str__()打印的内容,但是我们可以通过扩展让其显示跟多的字段,通过在admin.py文件中新增如下内容:

class  PlaceAdmin(admin.ModelAdmin):
list_display =('name','address') # Register your models here.
admin.site.register(Place,PlaceAdmin)

  

这样会展示展示list_display中的内容:

六、字段汉化

我们在admin后台中看到的字段都是在models中定义的字段名称,一般为英文的字段:

我们新增汉化内容:

class Restaurant(models.Model):
place = models.OneToOneField(
Place,
on_delete=models.CASCADE,
primary_key=True,
verbose_name='餐馆地址')
serves_hot_dogs = models.BooleanField(default=False,verbose_name='供用热狗')
serves_pizza = models.BooleanField(default=False,verbose_name='供用披萨')

  

汉化后效果为:

七、其他特殊设置

1、 search_fields:指定搜索的字段

class  PlaceAdmin(admin.ModelAdmin):
list_display =('name','address')
search_fields = ('name',)

  

2、list_filter:指定列表过滤器

class  PlaceAdmin(admin.ModelAdmin):
list_display =('name','address')
search_fields = ('name',)
list_filter = ('address',)

  

3、ordering:指定排序字段

class  PlaceAdmin(admin.ModelAdmin):
list_display =('name','address')
search_fields = ('name',)
list_filter = ('address',)
ordering = ('address',)

  

十、Django之Admin的更多相关文章

  1. Django笔记 —— Admin(Django站点管理界面)

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  2. [django]Django站点admin支持中文显示和输入设置

    正文: Django站点admin支持中文输入设置,操作如下: 1 需要确定的你的数据库的client客户端和服务端的编码设置为utf-8,如果不是,请将其设置成utf-8编码,我采用mysql,详情 ...

  3. Django之admin界面恢复及添加数据模型

    引自:http://fl0wjacky.github.io/jekyll_demo/2014/07/14/Django-admin.html Django之admin界面恢复及添加数据模型 Djang ...

  4. grappelli美化django的admin页面

    开始用admin时候,觉得它的页面实在...宁愿自己写modules,多费点时间 grappelli可以把admin变得非常美观,配置起来也很简单 第一步,先下载grappelli,搜索一下,wind ...

  5. django: db - admin

    本讲演示简单使用 Django Admin 功能. 一,修改 settings.py,添加 admin 应用: INSTALLED_APPS = ( 'django.contrib.auth', 'd ...

  6. django之admin流程

    admin 类复习: class Base(object): def __init__(self,val): self.val = val def func(self): self.test() pr ...

  7. Django的admin.py注册流程

    通常创建一个Django项目的时候,在Django的配置文件settings.py中,都会有下面的这段配置: INSTALLED_APPS = [ 'django.contrib.admin', 'd ...

  8. 【django之admin,单例模式】

    一.admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTAL ...

  9. Django之admin的使用和源码剖析

    admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...

随机推荐

  1. Odoo权限控制

    转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9278734.html 一:Odoo中的权限设置主要有以下5种 1)菜单.报表的访问权限 Odoo可以设置菜单项 ...

  2. [19/05/01-星期三] GOF23_行为型模式(策略模式、模板方法模式)

    一.策略模式(strategy) [策略接口] /*** * "策略"接口 */ package cn.sxt.strategy; public interface Strateg ...

  3. 淡说Linux 的发展史

    ♦ 1  Linux的简单介绍 Linux与Windows一样都是一套OS(操作系统),Windows界面美观 ,普通用户很容易上手,点点鼠标就能搞定许多操作,而Linux生下来就是为程序员的,故精通 ...

  4. sqoop mysql--->hive 报错 (ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf)

    ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apa ...

  5. PHP扩展模块redis安装

    PHP扩展redis模块安装 当我们安装好php之后可能会忘记装一些模块,或者需要增加模块的时候我们可以使用扩展模块安装. 查看php加载了哪些模块,使用命令 /usr/local/php/bin/p ...

  6. 第2章 K近邻算法

    numpy中的tile函数: 遇到numpy.tile(A,(b,c))函数,重复复制A,按照行方向b次,列方向c次. >>> import numpy >>> n ...

  7. Java性能监控

    Java性能监控 上次介绍了如何使用jvisualvm监控java,今天做进一步讲解!Java性能监控主要关注CPU.内存和线程. 在线程页中,点击线程Dump,可以生成threaddump日志,通过 ...

  8. 让IIS 7 如同IIS 8 第一次请求不变慢(转载)

    当我们把网站部署在IIS7或IIS6S的时候,每当IIS或是Application Pool重启后,或者站点在长时间没有请求访问后,第一次请求网站反应总是很慢.所以每次网站更新都会给第一个用户带来不好 ...

  9. 【PTA 天梯赛】L3-003 社交集群(并查集)

    当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友.一个“社交集群”是指部分兴趣爱好相同的人的集合.你需要找出所有的社交集群. 输入格式: 输入在第一行 ...

  10. swiper一组图片,点击图片出现中间,看效果

    好兄弟先看看效果是这样的么 点击哪个头像,头像移动到中间,然后放大,demo上写了五条数据 废话不多说 直接上代码 1.引入swiper.css, swiper.js 2.HTML(小弟做的是移动端的 ...