鄙人初出茅庐,请各位前辈多指教。
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 %}