一、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. 20165302 学习基础和C语言基础调查

    学习基础和C语言基础调查 ====== 一,技能学习经验体会 要问我有什么技能比大多数人强,这个我还真的不敢说,虽然我在很多方面都有自己的一些了解,比如乐器和绘画,但也都是一知半解,并没有在某一方面出 ...

  2. 洛谷P1832 A+B Problem(再升级)

    放题解 题目传送门 放代码 #include<bits/stdc++.h> using namespace std; ];//n为被分解数 a数组用于存储素数 ];//dp数组用于存储方案 ...

  3. jmeter接口测试3-正则表达式提取器的使用

    正则表达式的用处很多,最基础的用法 1,断言 2,传参(关联) 例子 1.http请求 2正则表达式提取,想要提取列表列中id,一遍打开列表页 如果是1,每次就会取相同的值!匹配数字的权限高于模板$0 ...

  4. 知乎TensorFlow入门学习记录

    知乎地址:https://zhuanlan.zhihu.com/p/30487008 import tensorflow as tf a=tf.placeholder(tf.int16) # 接受的数 ...

  5. 多线程系列 - 基础篇01 - 线程基本概念 & 线程优先级 & 守护线程 60%

    1.什么是线程 将线程理解为轻量级进程,它与进程的最大的区别是: 多个线程共享一个进程资源: 对于OS的许多资源的分配和管理(如内存)通常都是进程级别的,线程只是os调度的最小单位: 相对于进程来说更 ...

  6. Java Activiti 工作流引擎 springmvc SSM 流程审批 后台框架源码

    1.模型管理 :web在线流程设计器.预览流程xml.导出xml.部署流程 2.流程管理 :导入导出流程资源文件.查看流程图.根据流程实例反射出流程模型.激活挂起 3.运行中流程:查看流程信息.当前任 ...

  7. 编程开发之--Oracle数据库--存储过程在out参数中使用光标(3)

    在本系列学习随笔中的第2节我们留下了2个问题,我们现在讨论在out参数中使用光标. 1.要在out参数中使用光标,我们需要申明一个包的结构,包的结构分为包头和包体,包头只负责申明,包体只负责实现.包头 ...

  8. Mac 10.8.5 上运行cgi

    搭配置搭了好久,花了近半天时间,有必要把过程记录下. 本文已同步到 icocoa.tk, 欢迎访问 Mountain Lion上Setting设置里已经取消了web share,必须要自己启动apac ...

  9. jquery toggleclass方法

    给元素更改样式,一般使用 addClass() 和removeClass() jquery官方文档 对 addClass的介绍: Adds the specified class(es) to eac ...

  10. javascript 异步操作,串形执行,并行执行

    单线程模型 单线程模型指的是,JavaScript 只在一个线程上运行.也就是说,JavaScript 同时只能执行一个任务,其他任务都必须在后面排队等待. 注意,JavaScript 只在一个线程上 ...