xadmin的各种坑:

xadmin编辑页面出现文件需要重复上传的问题:

# 第一步:
xadmin\templates\xadmin\views\model_form.html文件中的form标签加  novalidate

# 第二步:
修改 xadmin/static/xadmin/js/xadmin.plugin.quick-form.js 文件如下
......
    , save: function(newValue) {
@@ -108,16 +108,31 @@
      //   }
      // })

      var $nonfile_input = this.$form.serializeArray();

      var formData = new FormData();

      $nonfile_input.forEach(function(field) {
        formData.append(field.name, field.value)
      });

      var $file_input = this.$form.find("input[type=file]");
      $file_input.each(function (idx, file) {
        formData.append($(file).attr('name'), file.files[0]);
      });

       # 第 111 行
        return $.ajax({
        data: [this.$form.serialize(), $.param(off_check_box)].join('&'),
        data: formData,
        url: this.$form.attr('action'),
        type: "POST",
        dataType: 'json',
        contentType: false,
        processData: false,
        beforeSend: function(xhr, settings) {
            xhr.setRequestHeader("X-CSRFToken", $.getCookie('csrftoken'));
        }
      })
    }, 
    },
  }

修改界面顶部和底部显示

在文件 \apps\users\adminx.py 中添加:

class GlobalSettings(object):
    site_title = '华南mall后台管理系统'
    site_footer = "华南mall在线教育网"


xadmin.site.register(views.CommAdminView, GlobalSettings)

修改app名称

在各个app下面找到 apps.py文件:

from django.apps import AppConfig

class UsersConfig(AppConfig):
    name = 'users'
    verbose_name = "用户管理"

设置左侧菜单折叠

在文件 \apps\users\adminx.py 中添加:menu_style = 'accordion'
class GlobalSettings(object):
    site_title = '华南mall后台管理系统'
    ...
    menu_style = 'accordion'

app名称的修改

# app名为users下的apps.py

from django.apps import AppConfig


class UsersConfig(AppConfig):
    # 设置app图标
    app_icon = 'fa fa-line-chart'
    # app名
    name = 'users'
    verbose_name = u'用户管理'

# __init__.py

default_app_config='users.apps.UsersConfig'

自定义左侧菜单前面的图标

class GlobalSettings(object):
    site_title = '华南mall后台管理系统'
    ..........
    global_models_icon = {EmailVerifyRecord: "fa fa-envelope-o", Banner: "fa fa-spin fa-apple",Course:"fa fa-book",Lesson:"fa fa-cc",Video:"fa fa-file-video-o",CourseResource:"fa fa-wpforms"}

如果想添加数据的同时方便添加关联model:inlines 机制 同一个页面 可以添加 所有的相关信息

class LessonInline:    # 1、创建一个类,指定那个modle
    model = Lesson
    extra = 0

class CourseAdmin(object):
    list_display = ['name','desc','degree','learn_time','students','fav_nums']
    search_fields = ['name','desc',]
    list_filter = ['name','desc','detail','degree',]
    inlines = [LessonInline]       # 2、加入到 inlines里面去

results matching ""

    No results matching ""