美文网首页
xadmin站点样式控制

xadmin站点样式控制

作者: Oscar_hailiang | 来源:发表于2019-10-06 13:10 被阅读0次
安装
pip install httplib2 django-formtools django-crispy-forms
# setting.py
INSTALLED_APPS = [
    ...,
    'xadmin',
    'crispy_forms',
    'reversion',
]
# urls.py
import xadmin
xadmin.autodiscover()

from xadmin.plugins import xversion
xversion.register_models()

urlpatterns = [
    url(r'^admin/', xadmin.site.urls)
]
一、字段样式
01 list_display 控制列表展示的字段
  • list_display中可以添加mdoel类下的自定义函数,比如full_name()
class User(models.Model):
        username = models.CharField(max_length=32)
        firstname = models.CharField(max_length=15)
        lastname = models.CharField(max_length=16)
        password = models.CHarField(max_length=100)
        def full_name(self):
              return self.firstname + self.lastname
         full_name.short_description = "全名"   # 定义xadmin的显示文字

list_display = ['username', 'full_name', ]

  • list_display中可以添加mdoel类下的go_to函数,实现页面跳转
from django.utils.safestring import mark_safe
def go_to(self):
     return mark_safe("<a herf="www.baidu.com"></a>")
go_to.short_description = '百度一下'

list_display = ['username', 'full_name','go_to' ]

02 search_fields 控制可以通过搜索框搜索的字段名称,xadmin使用的是模糊查询
03 list_filter 可以进行过滤操作的列
04 ordering 默认排序的字段
  • 排序规则
    • fieldname 表示按这个字段逆序排序。
05 readonly_fields 在编辑页面的只读字段
06 exclude 在编辑页面隐藏的字段
07 list_editable 在列表页可以快速直接编辑的字段
08 show_detail_fileds 在列表页提供快速显示详情信息

show_detail_fields=['ttdsn'] #在指定的字段后添加一个显示数据详情的一个按钮

09 refresh_times 指定列表页的定时刷新

refresh_times = [10, 60] #自动刷新时间

10 list_export 控制列表页导出数据的可选格式
11 show_bookmarks 控制是否显示书签功能
12 data_charts 控制显示图标的样式
13 model_icon 控制菜单的图标
14 relfield_style = 'fk_ajax' # fk-外键 显示样式
"fk-ajax" : 对于下拉框采用ajax异步搜索加载的方式呈现
"fa-ajax" : ...............待补充
15 date_hierarchy =['publication_date'] #添加过滤(这里是过滤日期)
16 filter_horizontal = ('authors',) 水平排列过滤器
  • 从‘多选框’的形式改变为‘过滤器’的方式,水平排列过滤器,必须是一个 ManyToManyField类型,且不能用于 ForeignKey字段,默认地,管理工具使用下拉框 来展现外键 字段
17 filter_vertical = ['authors',] 垂直排列过滤器
18 raw_id_fields = ['publisher',] #将ForeignKey字段从‘下拉框’改变为‘文本框’显示
18 style_fields 字段显示样式

style_fields = {'csdevice': 'm2m_transfer','csservice': 'ueditor',}

19 free_query_filter=['字段1','字段2',......]

默认为 True , 指定是否可以自由搜索. 如果开启自由搜索, 用户可以通过 url 参数来进行特定的搜索

20 aggregate_fields 列聚合

aggregate_fields = {"expire": "max"} 在list表格下面会增加一行统计的数据,可用的值:"count","min","max","avg", "sum" # 添加数据时候,一步一步提供数据,分块显示。

21 wizard_form_list 分块显示,添加数据时候,一步一步提供数据

wizard_form_list = [ ("基础信息", ("name", "contact", "telphone", "address")), ("其它信息", ("customer_id", "expire", "description")), ]

21 grid_layouts 列表的布局方式

grid_layouts = ("table", "thumbnails") #列表的布局方式,是以表格一行一条的方式还是类似于缩略图的方式展示的

22 list_per_page 每页显示数据的条数

list_per_page = 50 # 每页显示数据的条数

23 list_max_show_all 每页最大显示数据的条数

list_max_show_all = 200 #每页最大显示数据的条数

24 list_export 设置为空列表[],表示不支持导出功能,可以设置一个导出[xls....]等格式的列表
25 preserve_filters 默认情况下,当你对目标进行创建、编辑或删除操作后,页面会依然保持原来的过滤状态。将preserve_filters设为False后,则会返回未过滤状态。
26 view_on_site 这个属性可以控制是否在admin页面显示“View site”的链接。这个链接主要用于跳转到你指定的URL页面。(我还没有试验有什么用处)
27 actions 在类中自定义的函数方法
28 auto_excel_action.short_description='自动化导入数据文件' 函数名描述
29 object_list_template 自定义页面
30 inlines 编辑或查看单个对象时,嵌入编辑或查看外键对象
class SubTypeAttrInline(object):
    model = models.SubTypeAttr
    extra = 0
    style = 'table'  # 列表显示,stacked::块显示, table: 表格显示, accordion:缩略列表显示, xadmin/plugins/inline.py
    readonly_fields = ('sub_type',)

    def has_add_permission(self):  # 不允许添加对象
        return False

二、全局样式
class GlobalSettings(object):
        site_title = '慕学管理系统'  # 标题
        site_footer = '慕学在线网'  # 页尾
        menu_style = 'accordion'  # 设置左侧菜单  折叠样式
         global_models_icon = {"User": "glyphicon glyphicon-user", UserDistrict: "fa fa-cloud"}  # 设置models的全局图标
         apps_icons = {"home":"fa fa-home", "products":"", "companyintroduction":"", "certifications":"fa fa-certificate",
                  "contactus":"fa fa-phone", "forum":"","logisticinformation":"",
                  "sourcedownload":"fa fa-download","trade":"fa fa-shopping-cart","users":"fa fa-user",
                  "wechatuser":"fa fa-user", "knowledgebase":"fa fa-book","questionanswer":"fa fa-question-circle"}

    xadmin.site.register(views.CommAdminView,GlobalSettings)
三、App显示名称(如,用户管理)

(1)每个 app 应用下的 apps.py文件
from django.apps import AppConfig
class UsersConfig(AppConfig):
name = 'accounts'
verbose_name = '用户管理'

(2)init.py文件
default_app_config = 'accounts.apps.UsersConfig'

image.png
四、菜单排序显示

在xadmin\view\base.py中的get_nav_men方法中集成了排序方法,可以自行修改排序方法:

nav_menu.sort(key=lambda x: x['title'])

待整理:
https://blog.csdn.net/cybeyond_xuan/article/details/86300599

https://www.cnblogs.com/pgxpython/p/10217888.html
https://www.jianshu.com/p/6ce6fdcdd8c5

关联数据的显示:https://www.jianshu.com/p/b6ac8d27b745

https://www.cnblogs.com/Mengchangxin/p/10664438.html
https://www.cnblogs.com/zgf-666/p/9161854.html

相关文章

  • xadmin站点样式控制

    安装 一、字段样式 01 list_display 控制列表展示的字段 list_display中可以添加mdoe...

  • xadmin站点管理面样样式控制

    xadmin可以使用的页面样式控制基本与Django原生的admin一直。 list_display 控制列表展示...

  • Django xadmin

    xadmin是django admin的一个封装。点我进入xadmin官网 1、xadmin样式丢失 如果在dja...

  • css(一)

    css是指层叠样式表(Cascading Style Sheets)。使用css同时控制整个站点的样式与布局,结合...

  • CSS(1)

    结构样式相分离 引入CSS方式 行内样式权重高,较少用 内嵌样式直观性强,控制一个页面 外部样式表,群控,多个站点...

  • xadmin插入自定义页面

    在xadmin后台新增页面,如下所示: 1,在xadmin.py文件中设置全局样式并注册。 urls.py 2,在...

  • Django Xadmin站点管理配置

    1. 安装 通过指定安装最新版的xadmin 在配置文件中注册应用 xadmin有建立自己的数据库模型, 所以得需...

  • Django+Xadmin打造在线教育系统(九)

    xadmin的进阶开发 因版本问题.有些配置可能无效 自定义icon xadmin的图标采用的是第三方css样式f...

  • Django关闭debug模式,xadmin样式丢失

    Django关闭debug模式,xadmin样式丢失,如下所示:(瞬间感觉回到解放前了,郁闷啊) 网上搜索说是dj...

  • xadmin建站(2)

    三、xadmin后台管理 3.1见xadmin建站(预装)获取xadmin 3.2.xadmin的设置 (1)新建...

网友评论

      本文标题:xadmin站点样式控制

      本文链接:https://www.haomeiwen.com/subject/pseupctx.html