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实现SVN的目录周期性备份实例
Jul 17 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
python如何重载模块实例解析
Jan 25 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
Python list运算操作代码实例解析
Jan 20 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
Apr 17 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
python爬取音频下载的示例代码
Oct 19 Python
Python Pygame实战之塔防游戏的实现
Mar 17 Python
python使用BeautifulSoup 解析HTML
Apr 24 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
PHP脚本的10个技巧(7)
2006/10/09 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
JSON 数据格式详解
2017/09/13 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
微信小程序实现留言板
2018/10/31 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
详解vue v-model
2020/08/31 Javascript
python判断字符串是否纯数字的方法
2014/11/19 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Python字符串的修改方法实例
2019/12/19 Python
python开发前景如何
2020/06/11 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
大学生入党自我鉴定
2013/10/31 职场文书
商务日语毕业生自荐信
2013/11/23 职场文书
道德与公民自我评价
2015/03/09 职场文书
论语读书笔记
2015/06/26 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python