由于项目要快速搭建后台管理系统,想想知道的有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后台管理系统相关推荐

  1. 基于RuoYi框架快速搭建自己的后台管理系统

    RuoYi的介绍 RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot.Apache Shiro.MyBatis.Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而 ...

  2. Django Admin 后台管理系统

    文章目录 Admin 后台管理系统 一,后台管理系统的重要性 二,了解Django后台管理功能 Admin 后台管理系统 Django 的后台管理系统是非常出色的,新建项目以后,Django 就为我们 ...

  3. Django 慕课前后端实战 -- xadmin后台管理系统、登录模块、注册模块、邮箱激活链接、找回密码

    注意:win下面 pip install 安装python module失败后,可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/网站才在相应的module, ...

  4. 教育平台xadmin后台管理系统(一)

    1:通过git下载xadmin源码 2:将下载好的源码中的xadmin文件夹放在项目目录下面 3:在项目目录下的urls文件中 #使用xadmin替换admin import xadmin path( ...

  5. vue+element-ui搭建简易的后台管理系统页面布局

    工作中一直用element-ui写中后台项目,所以决定写一个vue+element-ui搭建简易的后台管理页面框架教程,可以快速搭建好简单的中后台界面.完成后显示如下 用vue-cli构建项目 必须之 ...

  6. Django xadmin 后台自定义action 动作

    adminx.py from xadmin import views from .models import * # 自定义动作所需 from django import forms, VERSION ...

  7. 微信小程序商城搭建二手汽车拍卖系统+后台管理系统|前后分离VUE.js

  8. Vite2.x + Vue3.x + Typescript + Element-plus搭建完整的后台管理系统项目

    前言 听说2021年是vue3.0大爆发的一年

  9. python系统-基于Python搭建Django后台管理系统

    一个好的项目数据库管理后台是必须的,今天代码君教大家搭建Django网站后台,当然做网站后台的前提是需要有Python以及Django的开发环境,至于如何搭建这些开发环境,请查看我的上一篇文章 Mac ...

最新文章

  1. 用 Java 实现断点续传 (HTTP)
  2. 扎心了!年薪100万,却还不起5000块的信用卡
  3. php mysql 获取错误_php怎样获取mysql错误信息
  4. 博途中用的是c吗_配置太低玩不了赛博朋克?学会用这个电脑、手机都能轻松玩2077...
  5. 揭晓新版《Windows Sysinternals实战指南》读书积赞活动
  6. mybatisplus坑 insert标签insert into select无参数问题
  7. vscode无法识别constexpr
  8. Tips--图像特征提取方法HOG、SIFT、LBP优缺点对比
  9. lintcode-137-克隆图
  10. 胡祖六回应“低价转让蚂蚁股权”一事:有误会 之后择时澄清
  11. C中得到4号错误(中断),怎么办
  12. Java算法面试题(008) 字符串反转
  13. hsqldb mysql_hsqldb简单使用总结
  14. 我在华为度过的 “两辈子”(学习那些在大厂表现优秀的人)
  15. Mybatis-Plus报错:Invalid bound statement (not found)
  16. 魔板游戏java_Java魔板游戏完整代码及注释
  17. VC中GetLastError() 错误代码的含义
  18. keil5里错误怎么解决Undefined symbol STM32_Control (referred from main.o).
  19. 今日头条自媒体怎么提高推荐量
  20. Python标准库time

热门文章

  1. 16GB内存神奇玩法大全
  2. 2016年第四季度总结
  3. HCNP——OSPF路由器的角色
  4. 平时编程过程中一些总结和难点(持续更新中)
  5. 毕业设计 单片机智能手环计步器 - 嵌入式 物联网 stm32
  6. Basler工业相机使用环境配置——Linux系统
  7. MyCat2 mysql8 读写分离 主从自动切换
  8. java unescape_Java实现JS中的escape和UNescape代码分享
  9. html mp4边播边缓冲,【记录】ckplayer播放器解决MP4文件缓冲结束前无法播放的方法...
  10. 思路分享 | 看我如何给微信下钩子[转]