自定義xadmin后台首頁


  登陸xadmin后台,首頁默認是空白,可以自己添加小組件,xadmin一切都是那么美好,但是添加小組件遇到了個大坑,快整了2個禮拜,最終實現想要的界面。初始的頁面如圖:

  本機后台顯示這個頁面正常,docker中添加小組件點下一步按鈕一點就崩,如上圖,日志文件沒有error信息。第一步排錯是不是依賴或者文件缺失,建個干凈沙盒從版本庫把代碼拉下,安裝requirements,運行沒問題。第二步排錯,docker實例中pip list跟本機一一對應,包括版本號。百思不得其解。

  忍受不了,首頁空盪盪的,一點就崩的狀態。實現如下界面:

 

 

 

 服務器監控首頁——實現步驟:

  一、從git下載pydash-django-app壓縮包,下載地址:https://gitlab.com/k3oni/pydash-django-app/tree/master

  二、解壓,套路同xadmin,把pydash這個目錄拷貝到extra_apps下,把pydash/static目錄移到xadmin/static/pydash下,結構如圖:

 

  三、在settings INSTALLED_APPS加入pydash,並配置

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

TIME_JS_REFRESH = 30000 #30 seconds
TIME_JS_REFRESH_LONG = 120000 #120 seconds
TIME_JS_REFRESH_NET = 2000 #2 seconds
VERSION = '1.4.6'

 

   四、xadmin/views/base.py 465行后 添加路由跳轉

        # 添加pydash url
        needRedit = False
        needRedit_url = '/'
        if self.request.get_full_path() == '/xadmin/':
            needRedit = True
            needRedit_url = '/info/main/'
        else:
            pass

        context.update({
            'menu_template': self.menu_template,
            'nav_menu': nav_menu,
            'site_title': self.site_title,
            'site_footer': self.site_footer,
            'breadcrumbs': self.get_breadcrumb(),
            'needRedit': needRedit, # 另加
            'needRedit_url': needRedit_url
        })

 

  五、xadmin/templates/xadmin/base_site.html嵌套pydash主頁

 

  六、配置路由

   服務器監控首頁在xadmin首頁渲染出來了,發到docker后又是一臉懵,有幾個圖不顯示,無耐,重新開始調整思路。

  


 

  在后台登陸界面攔截登陸跳轉的url,改為自己想要的model的url。

  默認顯示任何一個model數據——步驟:

  一、xadmin/views/__init__.py文件查看url映射,查看IndexView和LoginView

 

  二、xadmin/views/website.py 修改上下文渲染的app url為你自己想渲染的

 

    三、同文件下修改IndexView繼承LoginView,注釋之前的IndexView,在LoginView下面加上如下幾行代碼:

  實現xadmin點登陸后台,顯示你定義的任一model數據,url變化為:127.0.0.1:8000/xadmin/(登陸界面)--> 點登陸 --> 127.0.0.1:8000/xadmin/sms/smslog/(主頁面),url刪除sms/smslog/,變為127.0.0.1:8000/xadmin/,跳轉到登陸界面。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM