DjangoX使用部分报错问题


今天没事试了一下django框架的一个叫DjangoX的后台管理,在python3.6+Django 1.9环境下

1. 报错module ‘urllib’ has no attribute ‘quote’

解决办法:修改example/pages/custom_list.py文件的pk函数

urlib.quote( json.dumps(m_data) )

改为

urllib.parse.quote( json.dumps(m_data), '')

2. 报错’dict’ object has no attribute ‘has_key’

解决办法:修改example/pages/custom_list.py文件的result_item函数

if data.has_key(key):
    text = data[key]

改为

if key in data:
   text = data[key]

3. 报错No module named ‘django.core.urlresolvers’

解决办法:批量替换包django.core.urlresolvers为django.urls包

4. 使Django 1.11版本报错ImportError: cannot import name RadioFieldRenderer

解决办法:使用1.10之前的版本,因为Django后面的版本移除了RadioFieldRenderer,如果自己修改变动稍微有点大

5. 使用Django 2.0以上会报下面一大堆错误

No module named 'django.db.models.related'
No module named 'django.utils.importlib'

这两个错误是引入兼容性问题,DjangoX里面的代码对版本兼容性处理的时候只判断了第二位版本号,所以需要修改有django.VERSION[1]代码的地方

user = models.ForeignKey(AUTH_USER_MODEL, verbose_name=_(u"user"))
TypeError: __init__() missing 1 required positional argument: 'on_delete'

这个也很明显了,版本发生变化后有必要参数没传,需要对xadmin/models.py文件进行修改,所有用到models.ForeignKey的地方都需要修改,所以最好使用Django 1.10之前的版本


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://11000011.com/?id=102

« 上一篇 下一篇 »

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

主机推荐

  • 搬瓦工