admin的配置

admin是django强大功能之一,它能共从数据库中读取数据,呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。

如果你觉得英文界面不好用,可以在setting.py 文件中修改以下选项

1
LANGUAGE_CODE = 'en-us'  #LANGUAGE_CODE = 'zh-hans'

一  认识ModelAdmin

管理界面的定制类,如需扩展特定的model界面需从该类继承。

二 注册medel类到admin的两种方式:

<1>   使用register的方法

1
admin.site.register(Book,MyAdmin)

<2>   使用register的装饰器

1
@admin.register(Book)

三 掌握一些常用的设置技巧

  • list_display:     指定要显示的字段
  • search_fields:  指定搜索的字段
  • list_filter:        指定列表过滤器
  • ordering:       指定排序字段

配置示例:

1、在mysql数据库中,创建库

mysql> create database Django_admin character set utf8;
Query OK, 1 row affected (0.01 sec) mysql> use django_admin
Database changed

2、配置连接数据库

settings.py

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'django_admin',

        'USER': 'root',

        'PASSWORD': 'oldboy123',

        'HOST': '',

        'PORT': '',

    }

}

3、写建表语句

models.py

from django.db import models

# Create your models here.

# Create your models here.

class Book(models.Model):
name=models.CharField(max_length=20)
price=models.IntegerField()
pub_date=models.DateField()
publish=models.ForeignKey("Publish")
authors=models.ManyToManyField("Author") def __str__(self):
return self.name class Publish(models.Model): name=models.CharField(max_length=32)
city=models.CharField(max_length=32) def __str__(self):
return self.name #class Book_Author(models.Model):
# book=models.ForeignKey("Book")
# author=models.ForeignKey("Author") class Author(models.Model): name=models.CharField(max_length=32)
age=models.IntegerField(default=20) def __str__(self):
return self.name

在windows终端执行:

在终端执行命令

创建表

python manage.py makemigrations

写入数据库

python manage.py migrate

4、配置连接数据库

5、激活管理工具

在urls.py中配置路由分发:

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

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

6、使用管理工具

通过下面地址,就可以访问admin管理页面。要进入管理界面,我们要先创建超级管理员账号。

http://127.0.0.1:8000/admin

创建超级用户和密码

D:\python\django_admin>python manage.py createsuperuser
Username (leave blank to use 'administrator'): nulige
Email address: nulige@qq.com
Password:
Password (again):
Superuser created successfully.

添加普通用户

激活普通用户和授权,参考下图:

勾选相关选项,再点保存。

7、在admin中订制各种后面管理页面功能。

示例1:admin.py

from django.contrib import admin

from app01 import models
# Register your models here. class BookAdmin(admin.ModelAdmin):
list_display = ('id','name','price','pub_date')
list_editable = ('name','price')
filter_horizontal = ('authors',)
list_per_page = 2
search_fields = ('id','name','publish__name')
list_filter = ('pub_date', 'publish') admin.site.register(models.Author)
admin.site.register(models.Book,BookAdmin)
admin.site.register(models.Publish)

示例2:admin.py

from django.contrib import admin

from app01 import models
# Register your models here. class BookAdmin(admin.ModelAdmin):
list_display = ('id','name','price','pub_date')
# list_per_page =
ordering = ("-price","id")
# fieldsets = [
# (None, {'fields': ['name']}),
# ('price information', {'fields': ['price', "publish"], 'classes': ['collapse']}),
# ]
#filter_vertical = admin.site.register(models.Author)
admin.site.register(models.Book,BookAdmin)
admin.site.register(models.Publish)

Django admin管理的更多相关文章

  1. Django admin 管理工具

    admin 组件的使用 Django 提供了基于 web 的管理工具.Django 自动管理工具是 django.contrib 的一部分. INSTALLED_APPS = [ 'django.co ...

  2. Django——admin管理工具

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

  3. 吴裕雄--天生自然Django框架开发笔记:Django Admin 管理工具

    Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: ...

  4. 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题

    配置Django Admin,关于如何启用请参考Django官方文档<Activate the admin site>.但是我在配置过程中登录http://example.com/admi ...

  5. Django Admin管理入门

    Django最强大的部分之一是自动管理界面.它从模型中读取元数据,以提供快速,以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容.管理员的推荐用途仅限于组织的内部管理工具.它不是用于构建整个 ...

  6. django admin管理后台中文添加问题

    django版本号 1.7.8 #create database mydb character set utf8;#django-admin.py startproject mysite#设置sett ...

  7. 10.5Djang admin 管理工具

    2018-10-5 17:30:57 Django admin 管理工具  参考连接: https://www.cnblogs.com/yuanchenqi/articles/8323452.html ...

  8. 01: 重写Django admin

    目录: 1.1 重写Django admin项目各文件作用# 1.2 重写Django admin用户认证 1.3 将要显示的表注册到我们自己的kind_admin.py中 1.4 项目首页:显示注册 ...

  9. 你应该使用 Django admin 的 9 个理由(转)

    你应该使用 Django admin 的 9 个理由 “问题是,我问到的每个人都持反对意见,他们认为 admin 只限于超级用户,很不灵活并且是难以定制.”—来自 Reddit 的 andybak 我 ...

随机推荐

  1. 【LOJ】#2280. 「FJOI2017」矩阵填数

    题解 我们发现没有限制的小方格可以随便填 然后考虑有限制的,我们把它切割成一个个小块(枚举相邻的横纵坐标),然后记录一下这个小块的最大值限制(也就是所有覆盖它的矩形最小的最大值) 记录一下每个小块的大 ...

  2. docker export import后,导入镜像,启动时的错误,Error response from daemon: No command specified

    Docker的流行与它对容器的易分享和易移植密不可分,用户不仅可以把容器提交到公共服务器上,还可以把容器导出到本地文件系统中.同样,我们也可以把导出的容器重新导入到Docker运行环境中.Docker ...

  3. Es6懒加载

    const Login = resolve => require(['@/components/Login'], resolve) 注(当路由被访问的时候才加载这个组件)

  4. 20169211《Linux内核原理与分析》第二周作业

    <linux内核分析>实验一实验报告 <linux内核设计与实现>第1.2.18章学习总结 一.<linux内核分析>实验一实验报告        在进行实验楼操作 ...

  5. 《java虚拟机》----java内存模型与线程

    No1. No2. java内存模型规定了所有的变量都存储在主内存中(Main Memory)中 每条线程还有自己的工作内存(Working Memory) 线程的工作内存中保存了被该线程使用到的变量 ...

  6. React Native 系列(三)

    前言 本系列是基于React Native版本号0.44.3写的,相信大家看了本系列前面两篇文章之后,对于React Native的代码应该能看懂一点点了吧.本篇文章将带着大家来认识一下React N ...

  7. 【BZOJ 3235】 3235: [Ahoi2013]好方的蛇 (单调栈+容斥原理)

    3235: [Ahoi2013]好方的蛇 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 187  Solved: 95 Description 有一天, ...

  8. 【BZOJ 2669】 2669: [cqoi2012]局部极小值 (状压DP+容斥原理)

    2669: [cqoi2012]局部极小值 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 667  Solved: 350 Description 有一 ...

  9. Problem G: 切煎饼

    Description 王小二自夸刀工不错,有人放一张大的圆煎饼在砧板上,问他:饼不允许离开砧板,切100刀最多能切多少块? Input 多组测试数据,每组输入1个整数,代表切的刀数 Output 每 ...

  10. bzoj 3872: [Poi2014]Ant colony -- 树形dp+二分

    3872: [Poi2014]Ant colony Time Limit: 30 Sec  Memory Limit: 128 MB Description   There is an entranc ...