Django启动报django.core.management.base.SystemCheckError无法运行服务器怎么办
错误原因
- 依赖扩展未注册:你在admin.py中使用了
ExportActionMixin,该类来自django-import-export扩展,但你没有在settings.py的INSTALLED_APPS中注册该扩展,触发系统校验失败。 - 范围过滤器用法错误:
DateRangeFilter不能直接作为list_filter的独立配置项,必须和绑定的模型字段组成元组才能生效,你当前将'Date'和DateRangeFilter拆分为两个独立过滤项的写法不符合rangefilter的使用规范。
解决方法
- 前置检查:如果还未安装对应依赖包,先执行命令安装:
pip install django-import-export django-admin-rangefilter - 第一步:修改settings.py的
INSTALLED_APPS配置,添加import_export注册项,修改后参考如下:
INSTALLED_APPS = [ 'rangefilter', 'import_export', # 新增该行 'csp', 'jazzmin', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'sales', ]
- 第二步:修改admin.py中的
list_filter配置,将字段和过滤器绑定为元组,修改后参考如下:
from django.contrib import admin from .models import Sale_Data from import_export.admin import ExportActionMixin from rangefilter.filters import DateRangeFilter, DateTimeRangeFilter class Sale_Record(ExportActionMixin, admin.ModelAdmin): list_display =("CustomerName","CustomerPhone","Date", "Item", "Qty_Memory", "Qty_HDD", "Total_Qty", "Prices", "SalePerson") search_fields =("CustomerName", "CustomerPhone") list_filter = (('Date', DateRangeFilter),) # 修改该行 admin.site.register(Sale_Data, Sale_Record)
修改完成后重新启动Django服务即可正常运行。
内容的提问来源于stack exchange,提问作者smith
相关产品推荐
相关产品推荐

