1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > xadmin的一些自定义

xadmin的一些自定义

时间:2020-10-10 06:43:07

相关推荐

xadmin的一些自定义

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

1.修改app导航主图标

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

(1)修改源码

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

{% elif item.first_icon %} {#<i class="fa-fw {{item.first_icon}}"></i>#} {#这个标签注释后,当子导航设置了图标时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 = '<i class="fa fa-user-secret"></i>测试模块' # 要设置的中文名称

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自定义过滤器,后面跟方法;

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

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

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

4.自定义插件

(1)引入各个包

(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 %}

<ul class="breadcrumb">

<li><a href="/xadmin/">首页</a></li>

<li><a href="/xadmin/……/……/">xx历史</a></li>

<li>增加 xx历史</li>

</ul>

{% endblock %}

8.style引入继承的网页

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

{% block extrastyle %}

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

{% endblock %}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。