Django admin管理
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管理的更多相关文章
- Django admin 管理工具
admin 组件的使用 Django 提供了基于 web 的管理工具.Django 自动管理工具是 django.contrib 的一部分. INSTALLED_APPS = [ 'django.co ...
- Django——admin管理工具
一.admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTAL ...
- 吴裕雄--天生自然Django框架开发笔记:Django Admin 管理工具
Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: ...
- 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题
配置Django Admin,关于如何启用请参考Django官方文档<Activate the admin site>.但是我在配置过程中登录http://example.com/admi ...
- Django Admin管理入门
Django最强大的部分之一是自动管理界面.它从模型中读取元数据,以提供快速,以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容.管理员的推荐用途仅限于组织的内部管理工具.它不是用于构建整个 ...
- django admin管理后台中文添加问题
django版本号 1.7.8 #create database mydb character set utf8;#django-admin.py startproject mysite#设置sett ...
- 10.5Djang admin 管理工具
2018-10-5 17:30:57 Django admin 管理工具 参考连接: https://www.cnblogs.com/yuanchenqi/articles/8323452.html ...
- 01: 重写Django admin
目录: 1.1 重写Django admin项目各文件作用# 1.2 重写Django admin用户认证 1.3 将要显示的表注册到我们自己的kind_admin.py中 1.4 项目首页:显示注册 ...
- 你应该使用 Django admin 的 9 个理由(转)
你应该使用 Django admin 的 9 个理由 “问题是,我问到的每个人都持反对意见,他们认为 admin 只限于超级用户,很不灵活并且是难以定制.”—来自 Reddit 的 andybak 我 ...
随机推荐
- win10家庭版和专业版远程桌面出现身份验证错误, 要求的函数不受支持。解决办法【亲测有效】
1.解决 win10家庭中文版 远程连接:出现身份验证错误 要求的函数不受支持 Windows 5.10日更新后,远程连接出现失败. 提示: 出现身份验证错误.要求的函数不受支持 这可能是由于 Cre ...
- 查看loadrunner运行日志
查看loadrunner运行日志 日志分两种 1.在VUGEN中运行后的日志 2.在controller中运行后的日志日志设置分两步: 1.首先,在VUGEN或controller中run-tim ...
- 路径方案数 [SPFA,拓扑排序]
路径方案数 [题目描述] 给一张无向图,n 个点和 m 条边,cyb 在 1 号点,他要去 2 号点, cyb 可以从 a 走到 b,当且仅当 a 到 2 的最短路,比 b 到 2 的最短路长. 求 ...
- Python并发编程-线程-一个简单的例子
from threading import Thread import time def func(n): #子线程完成的 time.sleep(1) print(n) #多线程示例 for i in ...
- 使用log4j输出日志
今天在倒腾log4j,其实蛮简单的. 一.首先是下载log4j的jar包. 二.将下载的jar包添加到web工程的WEB-INF/lib包下 三.在src/config包下新建log4j.proper ...
- 关联的CURD
在保存的前面必须先建立好关联.但是默认情况下还是不会自动保存,如果保存会出错. Cascade all所有关联的所有持久化都是级联到另一个对象.保存这个对象的时候关联的对象自动保存. Cascade只 ...
- supervisor控制台运行出错,BACKOFF Exited too quickly
需要把虚拟环境中的flask路径导入,我这里是 export PYTHONPATH=$PYTHONPATH:/root/FlaskWebDevelopment/venv/lib/python2.7/s ...
- Ubuntu下修改ubuntu源,完成Redis Desktop Manager的安装
原文地址: http://blog.csdn.net/u013410747/article/details/51706964 免费下载链接:http://pan.baidu.com/s/1cA3jWU ...
- 【BZOJ 2669】 2669: [cqoi2012]局部极小值 (状压DP+容斥原理)
2669: [cqoi2012]局部极小值 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 667 Solved: 350 Description 有一 ...
- noip2007树网的核
想一下可以发现随便枚举一条直径做就可以了. 核越长越好.于是枚举核的过程可以做到O(n) 然后就是统计答案. 对于每个核最大偏心距肯定是核上面每个点不走核内的点所能走到的最远点的最值. 而且对于核的两 ...