xadmin的一些自定义

鄙人初出茅庐,请各位前辈多指教。

1.修改app导航主图标

导航主目录图标设置,也就是自定义的app名称的图标

(1)修改源码

修改xadmin/templates/xadmin/includes/sitemenu_accordion.html文件

{% elif item.first_icon %}  {##} {#这个标签注释后,当子导航设置了图标时app名称不显示图标#}
{% autoescape off %} {% trans item.title %} {% endautoescape %}   {#这里显示的自定义app名称,加上{% autoescape off %}{% endautoescape %}后在自定义名称时可以通过class自定义图标#}

 

(2)在当前app目录的apps.py文件里设置后台app名称时用class自定义图标

class TestConfig(AppConfig):

    name = 'app_Test'                  # app目录名称

verbose_name = '测试模块'  # 要设置的中文名称

xadmin的一些自定义_第1张图片

2.自定义页面定义时间显示格式(html)

      {{ dateString|date:'Y-m-d' }}  显示xxxx-xx-xx

3.自定义标签

    (1)在app下新建templatetags文件夹

    (2)文件夹中新建py文件

    (3)导包from django import template

    (4)register = template.Library()  # 声明注册类

    (5)

1)@register.filter自定义过滤器,后面跟方法;

xadmin的一些自定义_第2张图片

2)@register.simple_tag自定义标签,后面跟方法

   

(6)前端加载{% load tagname %},使用方式和一般的标签及过滤器一样

{{ 5|surplus:6 }} 5是第一个参数,6是第二个参数

4.自定义插件

(1)引入各个包

       xadmin的一些自定义_第3张图片

(2)定义对象(继承BaseAdminPlugin)

      class Test(BaseAdminPlugin):

    menu = {}#定义字段类型

def init_request(self, *args, **kwargs):

         #初始化

        init = False

        if xxx == x:

                            #初始化条件

            init = True

        return bool(init)

    # Block View

def block_nav_menu(self, context, nodes):

         #定义插件放的位置,和方法命名相关,其他方法命名去其他插件出查看

         #传递数据

         context.update(

             {"x": self.menu["x"], "xx": self.menu["xx"], "xxx": self.menu["xxx"]})

                   #加载html

         nodes.append(loader.render_to_string('xadmin/user/xxx.html', get_context_dict(context)))

         def get_media(self, media):

                       #网页样式和js加载,此处的样式文件和js放在xadmin下面的静态文件中

         media = media + self.vendor('xadmin.plugin.xx.js', 'xadmin.plugin.xx.css')

         return media

(3)插件注册

site.register_plugin(Test, ListAdminView)

(4)init.py初始化加载

              在plugins中的init.py添加插件名称

5.自定义错误输出语句

    某个错误:eg: raise ValueError("Please check the fields for correct!")……

6.adminx中的错误

Message等级如下

    'add_message', 'get_messages',

    'get_level', 'set_level',

    'debug', 'info', 'success', 'warning', 'error',

    'MessageFailure',

         success和error常用

         mes='success'

         message='成功'!

         return self.message_user(message, mes)

7.block重写

         先继承div的class,再在里面写新的内容

         {% block breadcrumbs %}

   

         {% endblock %}

8.style引入继承的网页

Django继承基础模板添加自己的stytle

      {% block extrastyle %}

         {#这里可以添加自己自定义的style#}

      {% endblock %}

你可能感兴趣的:(python)