溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

發(fā)布時(shí)間:2020-10-23 16:24:07 來(lái)源:腳本之家 閱讀:263 作者:讓我在雪地上撒點(diǎn)野 欄目:開(kāi)發(fā)技術(shù)

Django自帶有個(gè)強(qiáng)大的后天管理系統(tǒng),接下來(lái)我就給大家介紹一下x的admin一些強(qiáng)大的操作及后臺(tái)美化。

首先給大家介紹一些xadmin的注冊(cè)創(chuàng)建,首先下載官方xadmin插件包放到對(duì)應(yīng)的第三方apps_extra文件夾中

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

接下來(lái)就是在setting中注冊(cè)xadmin和crispy_forms到INSTALLED_APPS,接下來(lái)就是在我們的urls.py文件中配置路由

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

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

接下來(lái)就是在操作控制臺(tái)中輸入命令創(chuàng)建超級(jí)管理員賬號(hào),命令是python manage.py createsupperuser

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

根據(jù)提示輸入相應(yīng)的賬號(hào),郵箱和用戶名,記得在登錄xadmin后臺(tái)之前一定 遷移同步,將xadmin對(duì)應(yīng)的表遷到mysql數(shù)據(jù)庫(kù)中

接下來(lái)就是跑起我們的項(xiàng)目,在對(duì)應(yīng)的url網(wǎng)址后面后面加入/xadmin,登錄我們的管理后臺(tái)。

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

接下就是在每個(gè)app中新建adminx文件,將應(yīng)對(duì)的models注冊(cè)到xadmin中

import xadmin
from .models import Goods
class GoodCategoryBrandAdmin(object):
  fields=['category','name','image','desc','add_time']
#詳情頁(yè)字段的順序及是否顯示配置,不寫(xiě)的話默認(rèn)顯示全部字段
  list_display=['name','desc','add_time']
#列表顯示字段的配置
  search_fileds=['name']
#搜索框搜索內(nèi)容配置
  list_per_page=10
#列表顯示分頁(yè)的配置,每頁(yè)顯示數(shù)據(jù)多少
  list_filter=['name']
#過(guò)濾器配置
  
xadmin.site.register(Goods,GoodCategoryBrandAdmin)
#將Goods注冊(cè)到xadmin后臺(tái)

接下來(lái)就是把a(bǔ)pp中的每個(gè)models的類(lèi)注冊(cè)到xadmin后臺(tái)中,下圖就我全部注冊(cè)完成之后顯示出來(lái)的效果

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

起始后臺(tái)的名稱是django_xadmin的,大家一定想替換成對(duì)應(yīng)的自己后臺(tái)名稱,接下來(lái)就是替換后臺(tái)名稱和標(biāo)注以及導(dǎo)航欄伸縮效果的

from xadmin import views
class GlobalSettings(object):
  site_title = "硅谷商城后臺(tái)管理系統(tǒng)"
  # 系統(tǒng)名稱
  site_footer = "版權(quán)所有@硅谷商城"
  # 底部版權(quán)欄
  menu_style = "accordion"
  # 將菜單欄收起來(lái)
xadmin.site.register(views.CommAdminView,GlobalSettings)

將此代碼寫(xiě)到任意一個(gè)app中的adminx.py文件中,效果就能顯示出來(lái)

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

在django-xadmin還支持對(duì)的的后臺(tái)主題的更換,設(shè)置也是非常簡(jiǎn)單,如果我們想把背景的灰黑色替換成藍(lán)色或者綠色的等

,就只要接下來(lái)的幾步操作

class BaseSetting(object):
設(shè)置主題功能
  enable_themes = True
  use_bootswatch = True
 
xadmin.site.register(views.BaseAdminView, BaseSetting)

接下來(lái)我們就能對(duì)xadmin后臺(tái)的主題進(jìn)行修改了,在初始各功能模塊默認(rèn)是一個(gè)小圓圈,我們可以通過(guò)font-awesome設(shè)置我們想要的功能模塊圖標(biāo),下圖就是我設(shè)置完成的各功能模塊的圖標(biāo)

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

首先我們先找到設(shè)置圖片的代碼,

model_icon = 'fa fa-picture-o'

這段注冊(cè)后臺(tái)圖標(biāo)的代碼是在,如圖所示

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

接下來(lái)就是通過(guò) http://www.fontawesome.com.cn/網(wǎng)站查找我們喜歡的圖標(biāo),這里的圖標(biāo)非常全,以下就是部分官網(wǎng)圖標(biāo)的截圖

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

如果我們想可以添加最新版的圖標(biāo),我們從官網(wǎng)上下載最新版,將下載的文件中的css和font拷貝到或替換到下圖中的標(biāo)注紅色文件夾中

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

接下來(lái)就就是將model_icon = 'fa fa-picture-o'中的內(nèi)容替換成下圖中的紅色標(biāo)注的css樣式

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

model_icon = 'fa fa-address-card'添加到相對(duì)性的adminx.py中對(duì)應(yīng)的類(lèi)中

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

設(shè)置完成后我們就能在后臺(tái)中看到相對(duì)應(yīng)model的圖標(biāo)就能出現(xiàn),如果我們后臺(tái)數(shù)據(jù)導(dǎo)入以前第三方提供的數(shù)據(jù)或一些編寫(xiě)好的測(cè)試的json格式數(shù)據(jù),我們就可以通過(guò)以下方式整體導(dǎo)入數(shù)據(jù),首先將原始數(shù)據(jù)拷貝到相對(duì)應(yīng)文件夾下

Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式

接下來(lái)在在和data同級(jí)目錄創(chuàng)建import_category.py文件,在py文件寫(xiě)入函數(shù)

import os
import sys
#導(dǎo)入包
filename=os.path.realpath(__file__)
#對(duì)應(yīng)文件的名字
dirname=os.path.dirname(filename)
#對(duì)應(yīng)文件夾的名字
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
#導(dǎo)入原始數(shù)據(jù)
from goods.models import GoodsCategory
#導(dǎo)入models中的類(lèi)
for item in row_data:
#便利數(shù)據(jù)
  instanc1=GoodsCategory()
#實(shí)例化類(lèi)
  instanc1.name=item['name']
#將遍歷的數(shù)據(jù)添加到models中的字段中
  instanc1.code=item['code']
  instanc1.category_type=1
#標(biāo)注類(lèi)別為一級(jí)目錄
  instanc1.save()
#將數(shù)據(jù)保存數(shù)據(jù)庫(kù)
 
  for item2 in item['sub_categorys']:
    instanc2 = GoodsCategory()
    instanc2.name = item2['name']
    instanc2.code = item2['code']
    # 指向父級(jí)目錄
    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()

接下來(lái)我們就run運(yùn)行import_category文件,注只能運(yùn)行一次,如果多次run,將多次添加數(shù)據(jù)庫(kù)了。接下來(lái)就查看數(shù)據(jù)庫(kù)中和后臺(tái)中有我們導(dǎo)入的數(shù)據(jù),下個(gè)import_product和上圖操作類(lèi)似,下面是代碼部分

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()

補(bǔ)充導(dǎo)入的文件中有的是圖片,如果想讓后臺(tái)的圖片顯示出來(lái),還需要接下來(lái)的配置,首先需在setting中配置如圖

MEDIA_URL='/media/'
# 配置xadmin顯示圖片
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
#將文件夾media加入到系統(tǒng)中

然后,在url中配置圖片url,這兩項(xiàng)配置完成后圖片就能顯示出來(lái)了

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

上面就是xadmin 后臺(tái)的部分操作,django自帶的xadmin后臺(tái)確實(shí)很強(qiáng)大,用起來(lái)很方便。接下來(lái)還會(huì)繼續(xù)補(bǔ)充django的一些操作知識(shí)。

以上這篇Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI