本文共 2549 字,大约阅读时间需要 8 分钟。
Xadmin是一款功能强大、易于使用的Django后台管理系统,它比Django内置的admin站点更灵活和高效。以下是将Xadmin集成到Django项目中的完整步骤指南。
安装Xadmin可以通过以下命令完成,确保安装最新版本以避免兼容性问题:
pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2
在你的Django项目的settings.py文件中,添加以下应用:
INSTALLED_APPS = [ ... 'xadmin', 'crispy_forms', 'reversion', ...]LANGUAGE_CODE = 'zh-Hans' # 修改语言为中文TIME_ZONE = 'Asia/Shanghai' # 设置时区
为了正常使用Xadmin,需要确保项目数据库已经迁移完成:
python manage.py makemigrationspython manage.py migrate
在项目的urls.py文件中,添加Xadmin的路由配置:
import xadminxadmin.autodiscover()from xadmin.plugins import xversionxversion.register_models()urlpatterns = [ path(r'xadmin/', xadmin.site.urls),]
创建管理账户:
python manage.py createsuperuser
在每个子应用的adminx.py文件中,进行全局配置:
from xadmin import viewsfrom . import modelsclass BaseSetting(object): enable_themes = True # 启用主题切换 use_bootswatch = True # 使用左侧菜单 class Meta: site_id = 'default' # 设置站点IDclass GlobalSettings(object): site_title = "众阅生活" # 站点标题 site_footer = "XXX有限公司" # 站点页脚 menu_style = "accordion" # 菜单折叠风格 class Meta: use_site = True # 使用当前站点配置xadmin.site.register(views.BaseAdminView, BaseSetting)xadmin.site.register(views.CommAdminView, GlobalSettings)
在模型文件models.py中,定义相应的管理类:
from xadmin import viewsclass OrderModelAdmin(views.ModelAdmin): passxadmin.site.register(models.Order, OrderModelAdmin)
list_display:控制列表展示的字段
list_display = ['id', 'btitle', 'bread', 'bcomment']
search_fields:定义搜索框可搜索的字段
search_fields = ['id', 'btitle']
list_filter:定义列表过滤的字段
list_filter = ['is_delete']
ordering:控制列表默认排序的字段
ordering = ['-age',]
show_detail_fields:在列表页显示详情字段
show_detail_fields = ['id']
list_editable:控制列表页可编辑的字段
list_editable = ['name', 'age']
refresh_times:设置列表页的刷新间隔
refresh_times = [5, 10, 30, 60]
list_export:控制数据导出的格式
list_export = ('xls', 'json', 'csv')list_export_fields = ('id', 'btitle', 'bpub_date') show_bookmarks:控制是否显示书签功能
show_bookmarks = True
data_charts:设置图表展示样式
data_charts = { "order_amount": { 'title': '图书发布日期表', 'x-field': 'bpub_date', 'y-field': ('btitle',), 'order': ('id',) }} model_icon:设置模型对应的图标
model_icon = 'fa fa-gift'
readonly_fields:设置编辑页面的只读字段
readonly_fields = ['name']
exclude:在编辑页面隐藏的字段
exclude = ['name']
Xadmin提供了多种功能,您可以根据需求进行调整和扩展。例如,可以定义自定义页面样式、添加图表功能等。具体功能请参考Xadmin官方文档。
通过以上步骤,您已经成功将Xadmin集成到Django项目中,并可以开始使用其强大的后台管理功能。
转载地址:http://sknuz.baihongyu.com/