admin快速搭建后台管理系统
一.基于admin后台管理系统的特点:
- 权限管理:权限管理是后台管理系统必不可少的部分,拥有权限管理,可以赋予用户增删改查表权限(可以分别赋予用户对不同的表有不同的操作权限);
- 前端样式少:后台管理主要用于管理人员管理数据库中数据,因此样式不是特别重要但功能全;
- 快速开发:目前很多系统在开发中,后台系统的开发工具量与前台开发工作量相差不多甚至有点比前台开发工作量还大,而Django的后台管理系统是一套全自动的管理系统(即admin)
二.admin的使用:
1.自动完成admin的相关配置:
1.1在用Pycharm创建完Django项目后,会自动注册在setting.py的INSTALLED_APPS(Django所有的app都应该注册在这里)中,如图1,以及会配置相应的url,当然,你可以把url修改成你需要的名字(这里使用默认),如图2
图1

图2
2.你可以直接欢快的配置和使用admin了,是不是开心的飞起啊:
2.1把你的表建好然后生成(在termina中敲入命令(python manage.py makemigrations--该命令会在migrations数据库中表的相应脚本的py文件;python manage.py migrate--执行脚本文件生成或修改表))。
2.2使用python manage.py runserver启动Django项目(可以指定端口,默认为8000),然后便可以在浏览器中访问配置好了的url了(默认为127.0.0.1:8000/admin),如图3

图3
2.3显然,得有个用户和密码,不急,又来python manage.py createsuperuser(输入用户名和密码创建一个超级用户),创建成功后在启动项目便可以登录访问了。如图4,为英文,Django是全球性框架,支持多语言,要想是中文的,只需在setting.py中修改语言配置(把LANGUAGE_CODE='en-us'替换成LANGUAGE_CODE=‘zh-hans’,注:Django 1.8之前为'zh-cn';时区设置以可以改为上海,便于时间的统一TIME_ZONE='UTC'替换为TIME_ZONE='Asia/Shanghai',还得把USE_TZ改成False,与本地时间统一,不然时间会取UTC的时间),如图5。会自动生成组,是不是发现没有自己创建的表啊(Django默认会帮你自动注册用户表在后台展示),还是不急,只需简单的配置即可:

图4

图5
2.4在相关app下有个admin.py,只需在该文件中做相应的配置即可(以两张表为例),如图6,效果如图7(当然我的User表重载了AbstractUser):

图6

图7
3.当然,admin的功能远不止这些,要完成你需要的功能,只需在admin.py中进行相关配置即可:
这里例举几个常用的,详细可以参考该文章:https://www.cnblogs.com/wumingxiaoyao/p/6928297.html
3.1基本设置(以User表为例,注:字段名一定要和models表中的字段名一致):
class UserProfileAdmin(admin.ModelAdmin):
#显示表中哪些字段
list_display = ['name','birthday','gender'] #list_per_page设置每页显示多少条记录,默认是100条
list_per_page = 50 #ordering设置默认排序字段,负号表示降序排序
ordering = ('-add_time',) #list_editable 设置默认可编辑字段
list_editable = ['school_id', 'name'] #fk_fields 设置显示外键字段
fk_fields = ('school_id',)
#设置哪些字段可以点击进入编辑界面
list_display_links = ('id', 'name')
3.2筛选器,主要用于过滤和搜索数据:
class BlogAdmin(admin.ModelAdmin):
#筛选器
list_filter =('name', 'gender', 'school_id', 'add_time') #过滤器
search_fields =('name', 'school_id', 'gender') #搜索字段
date_hierarchy = 'add_time' # 详细时间分层筛选
3.3调整页面内容和标题:
class MyAdminSite(admin.AdminSite):
site_header = '悦动乐后台管理系统' # 此处设置页面显示标题
site_title = '悦动乐' # 此处设置页面头部标题 admin_site = MyAdminSite(name='management')
4.总结:
admin虽然已经很好了,但xadmin的功能更加强大,不急, 学习从未止步......
admin快速搭建后台管理系统的更多相关文章
- xadmin快速搭建后台管理系统
一.xadmin的特点: 1.基于Bootstrap3:Xadmin使用Bootstrap3.0框架精心打造.基于Bootstrap3,Xadmin天生就支持在多种屏幕上无缝浏览,并完全支持Boots ...
- 4、Django实战第4天:xadmin快速搭建后台管理系统
Django默认为我们提供了后台管理系统admin, urls.py中配置的第一条就是访问后台管理系统admin的 urlpatterns = [ url(r'^admin/', admin.site ...
- 保姆级别的vue + ElementUI 搭建后台管理系统教程
vue + ElementUI 搭建后台管理系统记录 本文档记录了该系统从零配置的完整过程 项目源码请访问:https://gitee.com/szxio/vue2Admin,如果感觉对你有帮助,请点 ...
- vue从入门到女装??:从零开始搭建后台管理系统(二)用vue-docute生成线上文档
教程 vue从入门到女装??:从零开始搭建后台管理系统(一)安装框架 一个系统开发完成了总要有操作说明手册,接口文档之类的东西吧?这种要全部纯手写就很麻烦了,可以借助一些插件,比如: vue-docu ...
- 如何使用活字格快速搭建Bug管理系统?
Bug管理系统是指一种用于添加Bug.修复Bug.测试Bug.删除Bug的一套完整的Bug管理系统. 完整的Bug管理过程包含: 1.测试人员利用Bug管理系统提交发现的bug. 2.测试人员把bug ...
- 使用moy快速开发后台管理系统(一)
moy是什么? moy 是基于模型框架 kero 和 UI 框架 neoui 实现的应用框架,是前端集成解决方案,为企业级应用开发而生.github地址:iuap-design/tinper-moy ...
- 1、快速搭建后台list
@RestController @CrossOrigin public class UserController { @Resource private UserService userService ...
- vue.js + element 搭建后台管理系统 笔记(一)
此文仅记录本人在搭建后台系统过程中遇到的难点及注意点,如果能帮到各位自然是极好的~~~ 项目主要架构:vueJS.elementUI.scss 一.项目初始化 首先需要安装nodejs,安装方法就不在 ...
- 夺命雷公狗ThinkPHP项目之----企业网站1之快速搭建后台
我们还是老规矩照老方法,将框架里面多余的东西都干掉,然后在index.php里面将框架搭建起来 <?php //定义项目目录 define('APP_PATH','./WEB/'); //开启调 ...
随机推荐
- ajax @requestBody
前端: $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: R ...
- Redis主从数据库同步
Redis主从同步原理-SYNC和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采 ...
- Python:Day46 Javascript DOM
history对象: History 对象包含用户(在浏览器窗口中)访问过的 URL.窗口之间是相互独立的. <input type="button" onclick=&qu ...
- svn离线安装以及配置,管理python自动化脚本
1.使用源码安装,自己make和install,难度还挺大的,改用对应iso中的rpm安装包来安装 2.iso中的rpm包安装,会存在rpm包之间的依赖的关系 3.这种依赖关系,可以处理,仍然在iso ...
- P2678 跳石头题解
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #i ...
- shell去除换行和空格
#!/bin/bash if [ -f str.txt ] ## 如果str.txt存在,则返回true then strval=$(cat str.txt|awk '{printf "%s ...
- 条件随机场Conditional Random Field-CRF入门级理解
条件随机场Conditional Random Field-CRF入门级理解 有向图与无向图模型 CRF模型是一个无向概率图模型,更宽泛地说,它是一个概率图模型.现实世界的一些问题可以用概率图模型 ...
- kali 源
#阿里云 deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.al ...
- Luogu P3379 【模板】最近公共祖先(LCA)
qwq 预处理出从$x$节点向上跳2i个节点的序号$p[x][i]$及节点深度$dpth[x]$, 寻找$lca$时,从$Max$(可能的最大深度)到0枚举$i$, 首先把较深的一个节点向上跳至深度相 ...
- mybatis-plus学习笔记(一)
一.概述 概述见官网,不再赘述(简称mytatis-plus为MP) 在mybatis的基础之上,重点关注新特性:https://mp.baomidou.com/guide/#%E7%89%B9%E6 ...