Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式


Posted in Python onMarch 11, 2020

Django自带有个强大的后天管理系统,接下来我就给大家介绍一下x的admin一些强大的操作及后台美化。

首先给大家介绍一些xadmin的注册创建,首先下载官方xadmin插件包放到对应的第三方apps_extra文件夹中

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

接下来就是在setting中注册xadmin和crispy_forms到INSTALLED_APPS,接下来就是在我们的urls.py文件中配置路由

import xadmin
 
urlpatterns = [
"""
  url(r'^xadmin/', xadmin.site.urls)
"""
]

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

接下来就是在操作控制台中输入命令创建超级管理员账号,命令是python manage.py createsupperuser

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

根据提示输入相应的账号,邮箱和用户名,记得在登录xadmin后台之前一定 迁移同步,将xadmin对应的表迁到mysql数据库中

接下来就是跑起我们的项目,在对应的url网址后面后面加入/xadmin,登录我们的管理后台。

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

接下就是在每个app中新建adminx文件,将应对的models注册到xadmin中

import xadmin
from .models import Goods
class GoodCategoryBrandAdmin(object):
  fields=['category','name','image','desc','add_time']
#详情页字段的顺序及是否显示配置,不写的话默认显示全部字段
  list_display=['name','desc','add_time']
#列表显示字段的配置
  search_fileds=['name']
#搜索框搜索内容配置
  list_per_page=10
#列表显示分页的配置,每页显示数据多少
  list_filter=['name']
#过滤器配置
  
xadmin.site.register(Goods,GoodCategoryBrandAdmin)
#将Goods注册到xadmin后台

接下来就是把app中的每个models的类注册到xadmin后台中,下图就我全部注册完成之后显示出来的效果

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

起始后台的名称是django_xadmin的,大家一定想替换成对应的自己后台名称,接下来就是替换后台名称和标注以及导航栏伸缩效果的

from xadmin import views
class GlobalSettings(object):
  site_title = "硅谷商城后台管理系统"
  # 系统名称
  site_footer = "版权所有@硅谷商城"
  # 底部版权栏
  menu_style = "accordion"
  # 将菜单栏收起来
xadmin.site.register(views.CommAdminView,GlobalSettings)

将此代码写到任意一个app中的adminx.py文件中,效果就能显示出来

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

在django-xadmin还支持对的的后台主题的更换,设置也是非常简单,如果我们想把背景的灰黑色替换成蓝色或者绿色的等

,就只要接下来的几步操作

class BaseSetting(object):
设置主题功能
  enable_themes = True
  use_bootswatch = True
 
xadmin.site.register(views.BaseAdminView, BaseSetting)

接下来我们就能对xadmin后台的主题进行修改了,在初始各功能模块默认是一个小圆圈,我们可以通过font-awesome设置我们想要的功能模块图标,下图就是我设置完成的各功能模块的图标

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

首先我们先找到设置图片的代码,

model_icon = 'fa fa-picture-o'

这段注册后台图标的代码是在,如图所示

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

接下来就是通过 http://www.fontawesome.com.cn/网站查找我们喜欢的图标,这里的图标非常全,以下就是部分官网图标的截图

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

如果我们想可以添加最新版的图标,我们从官网上下载最新版,将下载的文件中的css和font拷贝到或替换到下图中的标注红色文件夹中

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

接下来就就是将model_icon = 'fa fa-picture-o'中的内容替换成下图中的红色标注的css样式

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

model_icon = 'fa fa-address-card'添加到相对性的adminx.py中对应的类中

class GoodCategoryBrandAdmin(object):
"""
  model_icon = 'fa fa-address-card' 
"""

设置完成后我们就能在后台中看到相对应model的图标就能出现,如果我们后台数据导入以前第三方提供的数据或一些编写好的测试的json格式数据,我们就可以通过以下方式整体导入数据,首先将原始数据拷贝到相对应文件夹下

Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

接下来在在和data同级目录创建import_category.py文件,在py文件写入函数

import os
import sys
#导入包
filename=os.path.realpath(__file__)
#对应文件的名字
dirname=os.path.dirname(filename)
#对应文件夹的名字
sys.path.insert(0,dirname)
#将文件夹插入
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Atigugushop.settings")
import django
django.setup()
from db_utils.data.category_data import row_data
#导入原始数据
from goods.models import GoodsCategory
#导入models中的类
for item in row_data:
#便利数据
  instanc1=GoodsCategory()
#实例化类
  instanc1.name=item['name']
#将遍历的数据添加到models中的字段中
  instanc1.code=item['code']
  instanc1.category_type=1
#标注类别为一级目录
  instanc1.save()
#将数据保存数据库
 
  for item2 in item['sub_categorys']:
    instanc2 = GoodsCategory()
    instanc2.name = item2['name']
    instanc2.code = item2['code']
    # 指向父级目录
    instanc2.parent_category=instanc1
    instanc2.category_type=2
    instanc2.save()
    for item3 in item2['sub_categorys']:
      instanc3 = GoodsCategory()
      instanc3.name = item3['name']
      instanc3.code = item3['code']
      instanc3.parent_category = instanc2
      instanc3.category_type=3
      instanc3.save()

接下来我们就run运行import_category文件,注只能运行一次,如果多次run,将多次添加数据库了。接下来就查看数据库中和后台中有我们导入的数据,下个import_product和上图操作类似,下面是代码部分

import os
import sys
filename=os.path.realpath(__file__)
dirname=os.path.dirname(filename)
sys.path.insert(0,dirname)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Atigugushop.settings")
import django
django.setup()
from db_utils.data.product_data import row_data
from goods.models import Goods,GoodsCategory,GoodsImage,GoodCategoryBrand
for item in row_data:
  goods=Goods()
  goods.market_price=float(item['market_price'].replace('元','').replace('¥',''))
  goods.shop_price=float(item['sale_price'].replace('元','').replace('¥',''))
  goods.name=item['name'] if item['name'] is not None else ''
  goods.goods_desc=item['goods_desc'] if item['goods_desc'] is not None else ''
  goods.goods_brief=item['desc'] if item['desc'] is not None else ''
  category_name=item['categorys'][-1]
  categorys=GoodsCategory.objects.filter(name=category_name)
  if categorys:
    goods.category=categorys[0]
  goods.save()
  for image in item['images']:
    goods_image=GoodsImage()
    goods_image.image=image
    goods_image.goods=goods
    goods_image.save()

补充导入的文件中有的是图片,如果想让后台的图片显示出来,还需要接下来的配置,首先需在setting中配置如图

MEDIA_URL='/media/'
# 配置xadmin显示图片
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
#将文件夹media加入到系统中

然后,在url中配置图片url,这两项配置完成后图片就能显示出来了

from Atigugushop.settings import MEDIA_ROOT
urlpatterns = [
  
  url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT})
  #图片路径
 
]

上面就是xadmin 后台的部分操作,django自带的xadmin后台确实很强大,用起来很方便。接下来还会继续补充django的一些操作知识。

以上这篇Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 随机生成中文验证码的实例代码
Mar 20 Python
python和shell变量互相传递的几种方法
Nov 20 Python
用Python制作简单的朴素基数估计器的教程
Apr 01 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
在IPython中进行Python程序执行时间的测量方法
Nov 01 Python
python制作mysql数据迁移脚本
Jan 01 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
Python笔记之观察者模式
Nov 20 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
python3 实现口罩抽签的功能
Mar 11 #Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 #Python
Django+boostrap 美化admin后台的操作
Mar 11 #Python
Windows 下python3.8环境安装教程图文详解
Mar 11 #Python
django admin后管定制-显示字段的实例
Mar 11 #Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 #Python
屏蔽Django admin界面添加按钮的操作
Mar 11 #Python
You might like
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP安全防范技巧分享
2011/11/03 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
Python 内置函数complex详解
2016/10/23 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
PHP笔试题
2012/02/22 面试题
会计电算化学生个人的自我评价
2014/02/08 职场文书
建筑结构施工专业推荐信
2014/02/21 职场文书
数控技校生自我鉴定
2014/04/19 职场文书
厂区绿化方案
2014/05/08 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
北京故宫的导游词
2015/01/31 职场文书
个人求职自荐信范文
2015/03/06 职场文书
药店收银员岗位职责
2015/04/07 职场文书
课文《燕子》教学反思
2016/02/17 职场文书