默认的Xadmin标题就是用a标签实现的,但是没有地方可以添加href属性,除非修改html文件,这不是我想要的,我想要在Settings类中动态修改,这就需要修改Xadmin的源码了
1. 首先我们要修改一下HTML模板文件
路径:xadmin emplatesxadminase_site.html
<-- ! 在第十行 --> <a class="navbar-brand" href="">{% block branding %}{{ site_title }}{% endblock %}</a> <-- ! 改为 --> <a class="navbar-brand" href="{{ site_link }}">{% block branding %}{{ site_title }}{% endblock %}</a>
2. 修改Xadmin的CommAdminView
路径:xadminviewsase.py
# CommAdminView 类中添加类属性 site_link = '#' # 在CommAdminView的类方法get_context中将 context.update({ 'menu_template': self.menu_template, 'nav_menu': nav_menu, 'site_title': self.site_title, 'site_footer': self.site_footer, 'breadcrumbs': self.get_breadcrumb() }) # 改为 context.update({ 'menu_template': self.menu_template, 'nav_menu': nav_menu, 'site_title': self.site_title, 'site_footer': self.site_footer, 'site_link': self.site_link, 'breadcrumbs': self.get_breadcrumb() })
3. 自定义配置类并注册
class GlobalSettings(object): """xadmin的全局配置""" site_title = "我是标题" # 设置站点标题 site_link = "https://www.baidu.com" # 设置站点url site_footer = "" # 设置站点的页脚 menu_style = "accordion" # 设置菜单折叠 xadmin.site.register(views.CommAdminView, GlobalSettings)
4. 完成