本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-packages2、找到useradmin類的get_form_layout方法(大概在83行):找到這個檔案:xadmin/plugins/auth.py
...
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...