通过一文学会搭建Django+Xadmin后台管理系统
由于项目要快速搭建后台管理系统,想想知道的有Django admin还有Java的Guns,可是Guns并不熟悉,没时间慢慢学,于是使用Django+Xadmin搭建,下面记录详细的过程,请确保你的系统安装python3.5以上。
1、安装
python3使用pip3安装,没安装pip的请自行安装。安装Django只需:
pip3 install django+版本号,不写默认最新稳定版,我使用的是2.1.3。
Xadmin是基于Django的后台管理系统框架,源码地址:https://github.com/sshwsfc/xadmin。目前作者貌似不更新了,python3安装不是pip install xadmin,这个是python2安装的,如果在python3下安装,可能还会报Unicode错误,因为readme.rsc是gbk格式,python3读取错误。看作者github上也有说明:
说明安装2.0以上的Django要用
pip install git+git://github.com/sshwsfc/xadmin.git@django2来安装。
2、搭建
2.1 django-admin strartproject projectname
使用如上命令新建一个project,然后生成一个django项目目录。
想要查看django-admin的更多命令,使用django-admin.py help
具体命令意义请自行查看官方文档。
2.2 django-admin strartapp appname
使用如此命令来安装一个app,会在projectname目录下生成appname目录文件如下:
2.3 更改项目settings文件
数据库使用mysql,如要使用其他的,请到图中网址自行查看:
设置中文及地区时间:
2.4 初始数据库
pip3 install PyMySQL。然后在projectname下的__init__.py下:
import pymysql pymysql.install_as_MySQLdb()
2.5 配置admin urls
在projectname下的urls.py下:
from django.urls import path import xadminurlpatterns = [path('admin/', xadmin.site.urls), ]
2.6 编写model
在appname的models.py中写入
from django.db import models
class University(models.Model):id = models.IntegerField(primary_key=True)createdat = models.DateTimeField(db_column='createdAt', verbose_name='创建时间') # Field name made lowercase.updatedat = models.DateTimeField(db_column='updatedAt', verbose_name='更新时间') # Field name made lowercase.province = models.CharField(max_length=50, verbose_name='省份')city = models.CharField(max_length=50, verbose_name='城市')name = models.CharField(max_length=50, verbose_name='高校名称')address = models.CharField(max_length=100, verbose_name='地址')class Meta:verbose_name = '高校表'verbose_name_plural = '高校表'managed = Truedb_table = 'university'def __str__(self):return self.name
2.7 自定义admin
在appname的admin.py中写入
import xadmin from xadmin import views from .models import *# Register your models here.class GlobalSetting(object):# 设置后台顶部标题site_title = '后台管理系统'# 设置后台底部标题 site_footer = '2018 一枝韩独秀 www.520.com'# 左侧菜单可以折叠menu_style = "accordion"xadmin.site.register(views.CommAdminView, GlobalSetting)class BaseSetting(object):# 启用主题管理器 enable_themes = True# 使用主题 use_bootswatch = True# 注册主题设置 xadmin.site.register(views.BaseAdminView, BaseSetting)class UniversityAdmin(object):"""自定义University管理类"""# 列表页属性# 显示什么字段list_display = ['id', 'province', 'city', 'name', 'address', 'createdat', 'updatedat']list_filter = ['province', 'city', 'name', 'address']search_fields = ['name']list_per_page = 20list_display_links = ['id', 'name']# ordering设置默认排序字段,负号表示降序排序ordering = ['id']# list_editable 设置默认可编辑字段# list_editable = ['province', 'city']# 详细时间分层筛选# date_hierarchy = 'createdat' fieldsets = [('基本信息', {'fields': ['id', 'province', 'city', 'name', 'address']})]# 高校表图标model_icon = 'fa fa-home'passxadmin.site.register(University, UniversityAdmin)
2.8 设置app别名
在appname下面的__init__.py下:
default_app_config ='byk.apps.BykConfig'
在apps.py下:
from django.apps import AppConfigclass BykConfig(AppConfig):name = 'byk'verbose_name = 'Demo'
2.9 数据库迁移
makemigrations
migrate
2.10 创建超级用户
python manage.py createsuperuser
输入用户名和密码,邮箱随便填。
2.11 运行
进入manage.py所在的目录下:
python manage.py runserver 0.0.0.0:8000
2.12 效果
在浏览器中输入http://localhost:8000/admin/登录超级用户,看到如下效果:
通过一文学会搭建Django+Xadmin后台管理系统相关推荐
- 基于RuoYi框架快速搭建自己的后台管理系统
RuoYi的介绍 RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot.Apache Shiro.MyBatis.Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而 ...
- Django Admin 后台管理系统
文章目录 Admin 后台管理系统 一,后台管理系统的重要性 二,了解Django后台管理功能 Admin 后台管理系统 Django 的后台管理系统是非常出色的,新建项目以后,Django 就为我们 ...
- Django 慕课前后端实战 -- xadmin后台管理系统、登录模块、注册模块、邮箱激活链接、找回密码
注意:win下面 pip install 安装python module失败后,可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/网站才在相应的module, ...
- 教育平台xadmin后台管理系统(一)
1:通过git下载xadmin源码 2:将下载好的源码中的xadmin文件夹放在项目目录下面 3:在项目目录下的urls文件中 #使用xadmin替换admin import xadmin path( ...
- vue+element-ui搭建简易的后台管理系统页面布局
工作中一直用element-ui写中后台项目,所以决定写一个vue+element-ui搭建简易的后台管理页面框架教程,可以快速搭建好简单的中后台界面.完成后显示如下 用vue-cli构建项目 必须之 ...
- Django xadmin 后台自定义action 动作
adminx.py from xadmin import views from .models import * # 自定义动作所需 from django import forms, VERSION ...
- 微信小程序商城搭建二手汽车拍卖系统+后台管理系统|前后分离VUE.js
- Vite2.x + Vue3.x + Typescript + Element-plus搭建完整的后台管理系统项目
前言 听说2021年是vue3.0大爆发的一年
- python系统-基于Python搭建Django后台管理系统
一个好的项目数据库管理后台是必须的,今天代码君教大家搭建Django网站后台,当然做网站后台的前提是需要有Python以及Django的开发环境,至于如何搭建这些开发环境,请查看我的上一篇文章 Mac ...
最新文章
- 用 Java 实现断点续传 (HTTP)
- 扎心了!年薪100万,却还不起5000块的信用卡
- php mysql 获取错误_php怎样获取mysql错误信息
- 博途中用的是c吗_配置太低玩不了赛博朋克?学会用这个电脑、手机都能轻松玩2077...
- 揭晓新版《Windows Sysinternals实战指南》读书积赞活动
- mybatisplus坑 insert标签insert into select无参数问题
- vscode无法识别constexpr
- Tips--图像特征提取方法HOG、SIFT、LBP优缺点对比
- lintcode-137-克隆图
- 胡祖六回应“低价转让蚂蚁股权”一事:有误会 之后择时澄清
- C中得到4号错误(中断),怎么办
- Java算法面试题(008) 字符串反转
- hsqldb mysql_hsqldb简单使用总结
- 我在华为度过的 “两辈子”(学习那些在大厂表现优秀的人)
- Mybatis-Plus报错:Invalid bound statement (not found)
- 魔板游戏java_Java魔板游戏完整代码及注释
- VC中GetLastError() 错误代码的含义
- keil5里错误怎么解决Undefined symbol STM32_Control (referred from main.o).
- 今日头条自媒体怎么提高推荐量
- Python标准库time
热门文章
- 16GB内存神奇玩法大全
- 2016年第四季度总结
- HCNP——OSPF路由器的角色
- 平时编程过程中一些总结和难点(持续更新中)
- 毕业设计 单片机智能手环计步器 - 嵌入式 物联网 stm32
- Basler工业相机使用环境配置——Linux系统
- MyCat2 mysql8 读写分离 主从自动切换
- java unescape_Java实现JS中的escape和UNescape代码分享
- html mp4边播边缓冲,【记录】ckplayer播放器解决MP4文件缓冲结束前无法播放的方法...
- 思路分享 | 看我如何给微信下钩子[转]