1. ModuleNotFoundError: No module named 'django.contrib.formtools'
解决办法:导入fromtools错误,版本太低
# 卸载旧版本
pip uninstall django-formtools
# 安装新版本
pip install django-formtools
2. AttributeError: ‘CharField’ object has no attribute ‘rel’:
解决办法:
if isinstance(field.rel, models.ManyToOneRel):
related_fields.append(field_name)
修改为
if isinstance(field.remote_field, models.ManyToOneRel):
related_fields.append(field_name)
3. IndexError: list index out of range:
解决办法:
把 input_html = [ht for ht in super(AdminSplitDateTime, self).render(name, value, attrs).replace(
'/><input', '/>\n<input').split('\n') if ht != '']
替换为
input_html = [ht for ht in super(AdminSplitDateTime, self).render(name, value, attrs).replace(
'><input', '>\n<input').split('\n') if ht != '']
4. ‘ManyToOneRel’ object has no attribute ‘to’ :
解决办法:
将:
self.add_url, (_('Create New %s') % self.rel.to._meta.verbose_name), name,
修改为:
self.add_url, (_('Create New %s') % self.rel), name,
5.AttributeError: ‘ForeignKey’ object has no attribute ‘re’:
#data_list =filter_field_obj.rel.to.objects.all()这个不行换成以下代码
data_list = filter_field_obj.remote_field.model.objects.all()
6. "Midea" object has no attribute add_css
解决办法:
将xadmin\util.py 中的86行 def vendor(*tags):
方法体改为:
css = {'screen': []}
js = []
for tag in tags:
file_type = tag.split('.')[-1]
files = xstatic(tag)
if file_type == 'js':
js.extend(files)
elif file_type == 'css':
css['screen'] += files
return Media(css=css, js=js)
7. login got an unexpected keyword argument 'extra_context'
解决办法:
修改views\website.py文件
7.1 将
from django.contrib.auth.views import login
from django.contrib.auth.views import logout
修改为:
from django.contrib.auth.views import LoginView as login
from django.contrib.auth.views import LogoutView as logout
7.2 注释掉LoginVIew 类中 get 方法的 defaults 字典中的 currnet_app
7.3 当前修改对应7.2 中的修改,属于联动操作
修改LoginView 类中 get 方法的返回值(return)
return login.as_view(**defaults)(request)
8. render() got an unexpected keyword argument renderer
解决办法:
对使用的django包的forms下的boundfield.py进行注释
注释掉 render=self.form.renderere
9. 设置xadmin 的主题时,会出现只展示 默认和 bootstarp2 选项卡
修改:
xadmin.plugins.themes.py 中 block_top_navmenu 方法下注释掉:
# if six.PY3:
# content = content.text.decode()