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数据库中,创建库

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

2、配置连接数据库

settings.py

  1. DATABASES = {
  2.  
  3. 'default': {
  4.  
  5. 'ENGINE': 'django.db.backends.mysql',
  6.  
  7. 'NAME': 'django_admin',
  8.  
  9. 'USER': 'root',
  10.  
  11. 'PASSWORD': 'oldboy123',
  12.  
  13. 'HOST': '',
  14.  
  15. 'PORT': '',
  16.  
  17. }
  18.  
  19. }

3、写建表语句

models.py

  1. from django.db import models
  2.  
  3. # Create your models here.
  4.  
  5. # Create your models here.
  6.  
  7. class Book(models.Model):
  8. name=models.CharField(max_length=20)
  9. price=models.IntegerField()
  10. pub_date=models.DateField()
  11. publish=models.ForeignKey("Publish")
  12. authors=models.ManyToManyField("Author")
  13.  
  14. def __str__(self):
  15. return self.name
  16.  
  17. class Publish(models.Model):
  18.  
  19. name=models.CharField(max_length=32)
  20. city=models.CharField(max_length=32)
  21.  
  22. def __str__(self):
  23. return self.name
  24.  
  25. #class Book_Author(models.Model):
  26. # book=models.ForeignKey("Book")
  27. # author=models.ForeignKey("Author")
  28.  
  29. class Author(models.Model):
  30.  
  31. name=models.CharField(max_length=32)
  32. age=models.IntegerField(default=20)
  33.  
  34. def __str__(self):
  35. return self.name

在windows终端执行:

  1. 在终端执行命令
  2.  
  3. 创建表
  4.  
  5. python manage.py makemigrations
  6.  
  7. 写入数据库
  8.  
  9. python manage.py migrate

4、配置连接数据库

5、激活管理工具

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

  1. from django.conf.urls import url
  2. from django.contrib import admin
  3.  
  4. urlpatterns = [
  5. url(r'^admin/', admin.site.urls),
  6. ]

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

6、使用管理工具

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

  1. http://127.0.0.1:8000/admin

创建超级用户和密码

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

添加普通用户

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

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

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

示例1:admin.py

  1. from django.contrib import admin
  2.  
  3. from app01 import models
  4. # Register your models here.
  5.  
  6. class BookAdmin(admin.ModelAdmin):
  7. list_display = ('id','name','price','pub_date')
  8. list_editable = ('name','price')
  9. filter_horizontal = ('authors',)
  10. list_per_page = 2
  11. search_fields = ('id','name','publish__name')
  12. list_filter = ('pub_date', 'publish')
  13.  
  14. admin.site.register(models.Author)
  15. admin.site.register(models.Book,BookAdmin)
  16. admin.site.register(models.Publish)

示例2:admin.py

  1. from django.contrib import admin
  2.  
  3. from app01 import models
  4. # Register your models here.
  5.  
  6. class BookAdmin(admin.ModelAdmin):
  7. list_display = ('id','name','price','pub_date')
  8. # list_per_page =
  9. ordering = ("-price","id")
  10. # fieldsets = [
  11. # (None, {'fields': ['name']}),
  12. # ('price information', {'fields': ['price', "publish"], 'classes': ['collapse']}),
  13. # ]
  14. #filter_vertical =
  15.  
  16. admin.site.register(models.Author)
  17. admin.site.register(models.Book,BookAdmin)
  18. 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. ubuntu 依赖问题

    ubuntu想装个QQ,无奈安装不但出错,还导致现在的软件依赖出了问题 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 您也许需要运行“apt --fix-b ...

  2. CentOS使用

    centos7编译安装git最新版 CentOS下 pycharm开发环境搭建之无穷无尽的问题 CentOS 7入门操作基础教程 centos中文站 CentOS7 常用命令集合 centos中有vi ...

  3. Node.js后台开发初体验

    Node.js是什么 Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质时对Chrome V8引擎进行了封装 Node.js安装 ...

  4. shell grep 筛选

    egrep '^.{11}(WP)' inputfile | sort -k1.17,1.24 > outputfile WP 在12位开始.

  5. FFTW3学习笔记3:FFTW 和 CUFFT 的使用对比

    一.流程 1.使用cufftHandle创建句柄 2.使用cufftPlan1d(),cufftPlan3d(),cufftPlan3d(),cufftPlanMany()对句柄进行配置,主要是配置句 ...

  6. 【UOJ #110】【APIO 2015】Bali Sculptures

    http://uoj.ac/problem/110 这道题subtask4和subtask5是不同的算法. 主要思想都是从高位到低位贪心确定答案. 对于subtask4,n比较小,设\(f(i,j)\ ...

  7. java--由一道选择题研究数值越界

    原题来自牛客网的java专项练习: 以下是代码. public class Test2 { public static void add(Byte b) { b=b++; } public stati ...

  8. [ARC051D]長方形

    [ARC051D]長方形 题目大意: 给定\(A_{1\sim n}\)和\(B_{1\sim m}(n,m\le2000,|A_i|,|B_i|\le10^5)\),矩阵\(C_{i,j}=A_i+ ...

  9. ElasticSearch学习笔记--2、ES相关配置

    1.配置文件 ES的配置文件位置:config/elasticsearch.yml可以直接搜索elasticsearch.yml 2.配置远程api访问 network.host: 192.168.1 ...

  10. 【转载】Unicode 编码表

    转载备忘:Unicode 编码表 具体请移步: http://www.cnblogs.com/chenwenbiao/archive/2011/08/17/2142718.html