Django Xadmin的布局自定義方式

2022-09-01 19:24:12 字數 2449 閱讀 8910

本part,將介紹django-xadmin的布局自定義方式。

參考了useradmin的布局改寫:

但是我門總是不僅僅侷限於使用者管理這個頁面的改寫,所以本part將以practise.basic這個錄入控制項案例為例,介紹如何在xadmin快速布局。

1、本part,我們在這個結構下進行**填充:

project 目錄 (django-xadmin學習專案)

|| `-- practise

...

(2)如果是pip安裝到python環境中的,則找到這個路徑

到你的python環境:d:\programs\python\python36\venv\xadmin_learn\lib\site-packages

找到這個檔案:xadmin/plugins/auth.py

2、找到useradmin類的get_form_layout方法(大概在83行):

...

class useradmin(object):

...def get_form_layout(self):

...

3、對著使用者管理介面,學習布局的**。

1、首先這次我們要對practise.basic的布局進行改造,我們看看原來的布局是怎麼樣的

原來的布局

2、再看看自定義布局後的樣子

自定義的布局

3、可以看出來,布局可以更緊湊,更靈活

# -*- coding: utf-8 -*-

import xadmin

# 這也是追加的

from django.utils.translation import ugettext as _

from xadmin.layout import fieldset, main, side, row

from .models import basic

class basicadmin(object):

list_display = ['input_single'] # 控制顯示列數  

search_fields = ['input_single'] # 控制搜尋框的顯示

list_filter = ['input_single'] # 控制篩選

# 這是追加的

def get_form_layout(self):

self.form_layout = (

main(

fieldset(_('文字錄入案例'),

'input_single',

'input_multi',

'input_slug',

row('input_integer', 'input_positive_integer',),

row('input_float', 'input_big_integer', ),

),fieldset(_('日期錄入案例'),

row('input_date', 'input_time'),

'input_datetime'

),fieldset(_('網路錄入案例'),

'input_url',

'input_email',

'input_generic_ip',

),fieldset('',

'add_time',

css_class='unsort no_title'

),),

side(

fieldset(_('其他'),

'input_null_boolean'

),fieldset(_('其他'),

'input_null_boolean'),)

)return super(basicadmin, self).get_form_layout()

xadmin.site.register(basic, basicadmin)

2、從**可以看出,要進行自定義xadmin布局,要做2個步驟:

(1)在import上引入了一些依賴;

(2)在class裡面,追加了乙個方法「get_form_layout(self)」

3、其中「get_form_layout(self)」方法和useradmin中「get_form_layout(self)」最大的不同,是useradmin多了一行

if self.org_obj:

的判斷,而我們自己定義的類中,是不需要這個判斷的。

django xadmin後台管理

1 xadmin 後台管理比django 自帶admin好用多了,介面更好看。2 xadmin該怎樣安裝呢?github 然後用pip install c users luguanyou desktop xadmin.zip 後面是檔案路徑 安裝完後,解壓後可以看到xadmin檔案,把它拷貝到專案根...

django xadmin管理後台

在解壓的檔案裡requirements.txt有列出相關的依賴包,用pip安裝 找到base dir這行,修改前 如下 修改後的 如下 setting.py設定成中文 urls.py中配置路由 執行 makemigrations 和migrate,然後runserver啟動服務 python man...

Django xadmin安裝最詳細

django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messages django.contrib.staticfiles xadmin...