首页 > 技术文章 > 转:xadmin报cannot import name ‘DEFAULT_FORMATS‘ from ‘import_export.admin‘/cannot import name ‘SKIP_ADMI

xujunheng 2021-12-07 10:25 原文

1、下载xadmin: pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2

2、到settings中注册app:

INSTALLED_APPS = [
'xadmin',
'crispy_forms',
'reversion'
]
3、迁移数据库文件:

python manage.py makemigrations

python manage.py migrate

我是在执行数据库迁移命令是出现报错的。

报错信息:cannot import name 'DEFAULT_FORMATS'

找到相应的配置文件:虚拟环境名->Lib->site-packages->xadmin->plugins->importxport.py

a、注释掉下面的命令

from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS
b、增加下面两条

from import_export.formats.base_formats import DEFAULT_FORMATS
from import_export.admin import ImportMixin, ImportExportMixinBase
c、如果还报错,就要按照报错信息,再去查查了。我的环境没有报错。

4、再去执行数据库迁移命令,没有报错了。

5、配置路由:主路由下配置,原来的admin的路由就不需要了,注释掉

import xadmin
xadmin.autodiscover()
from xadmin.plugins import xversion
xversion.register_models()

urlpatterns=[
path('xadmin/',xadmin.site.urls)
]

6、在应用下创建adminx.py, 以后表的注册都写到该文件中

import xadmin
from xadmin import views
'''
拓展auth的用户表不需要再注册了
'''
class GlobalSettings(object):
site_title='xxx公司内部管理系统' #站点标题
site_footer='xxx公司' #页脚
menu_style='accordion'#设置菜单折叠
xadmin.site.register(views.CommAdminView,GlobalSettings)
7、登录 :到http://127.0.0.1:8000/xadmin/ 进行登录

8、如果没有创建用户,可以在terminal下: python manage.py createsuperuser 创建超级用户

注:不同机器可能遇到问题不一样,希望对您有所帮助。
————————————————
版权声明:本文为CSDN博主「weixin_46371752」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46371752/article/details/121552046

推荐阅读