Django-Xadmin后台首页添加小组件报错的解决方案
作者:成都-Python开发-王帅
这篇文章主要介绍了Django-Xadmin后台首页添加小组件报错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Django-Xadmin后台首页添加小组件报错
在修改官网时,使用python3集成了Django2.0和Xadmin
集成后发现,在Xadmin后台页面首页位置,点击添加小组件报错。
具体报错内容如下:
render() got an unexpected keyword argument 'renderer'”
第一种可能性
找到xadmin/views/dashboard.py,加个参数 renderer=None
即可解决问题,如果还没有解决问题,那么就看下一个处理方法如下
第二种可能性
找到Python包下dist-packages/django/forms/boundfield.py文件,然后修改下面图片内容:
然后重启,搞定。
Django使用xadmin
xadmin特点
1.支持在多种屏幕上无缝浏览
2.内置功能丰富
3.强大的插件系统
4.可以直接在后台对表进行增删改查
安装xadmin
注意:是pip install xadmin-py3
pip install xadmin-py3 pip install xadmin-py3
重要的事说三遍!!!
配置xadmin
在你的项目目录下settings.py中,添加xadmin,crispy_forms(这个是依赖包)
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp01', 'xadmin', 'crispy_forms' ]
将项目目录下的urls.py中的admin注释掉,添加xadmin如下:
urlpatterns = [ # path('admin/', admin.site.urls), path('api/',include("myapp01.urls")), path('xadmin/',xadmin.site.urls), url(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}, name='media'), ]
在你需要后台展示的APP下建一个adminx.py文件:
import xadmin from myapp01.models import Student class StudentAdmin(object): # 操作项功能显示位置设置,两个都为True则顶部和底部都显示 actions_on_top = True actions_on_bottom = True # 操作项功能显示选中项的数目 actions_selection_counter = True # 设置默认排序字段,负号表示降序排序 ordering = ("id",) # 这个,不能省略 list_display = ("id",'sname','gender','brith','isdelete') # list_display = ('api_name', 'api_id', 'source', 'area', 'is_active') list_per_page = 3 empty_value_display = ' -无字段- ' # 过滤器功能及能过滤的字段 list_filter = ('isdelete',"gender") # 搜索功能及能实现搜索的字段 search_fields = ('sname', 'gender') # menu_style = 'accordion' # 左边导航栏样式 xadmin.site.register(Student,StudentAdmin) #
使用xadmin
python manage.py makemigrations # 将model生成迁移文件 python manage.py migrate # 将迁移文件生成数据表 python manage.py createsuperuser #创建超级用户,登录后台使用 python manage.py runserver 8002 # 启动项目
浏览器上输入:http://127.0.0.1:8002/xadmin/
到登录输入你刚才创建的用户密码
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- go语言import报错处理图文详解
- Go语言将string解析为time.Time时两种常见报错
- 解决MySQL报错:The last packet sent successfully to the server was 0 milliseconds ago.
- go mod tidy报错解决方法详解
- go引入自建包名报错:package XXX is not in std解决办法
- goland安装1.7版本报错Unpacked SDK is corrupted解决
- Django报错TemplateDoesNotExist的问题及解决
- 在 SHELL 脚本中调用另一个 SHELL 脚本的方法(报错: go:not found)
- 解决MongoDB 位置查询报错planner returned error: unable to find index for $geoNear query的问题
- django报错设置auth User的解决
- 解决Oracle DISTINCT 报错 inconsistent datatypes: expected - got CLOB(数据类型不一致: 应为 -, 但却获得 CLOB)的问题
- Java中报错org.springframework.jdbc.UncategorizedSQLException的多种解决方法
- 执行go build报错go: go.mod file not found in current directory or any parent directory
- Go导入不同目录下包报错的解决方法
- 解决MongoDB6.0报错:"mongo"不是内部或外部命令,也不是可运行的程序或批处理文件
- maven报错:Failed to execute goal on project问题及解决
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections.
- golang中package is not in GOROOT报错的真正解决办法
- Go语言报错:'godoc' 不是内部或外部命令,也不是可运行的程序(godoc无法使用处理)解决方法