use*_*740 9 django-admin python-3.10 django-4.0
我想在管理面板中添加图表,我安装了该django-admin-charts软件包,上面说将这些添加到settings.py
INSTALLED_APPS = (
'admin_tools_stats', # this must be BEFORE 'admin_tools' and 'django.contrib.admin'
'django_nvd3',
)
Run Code Online (Sandbox Code Playgroud)
但是添加之后却出现这样的错误:
ImportError: cannot import name 'smart_text' from 'django.utils.encoding' (E: \ test1 \ venv1 \ lib \ site-packages \ django \ utils \ encoding.py)
Run Code Online (Sandbox Code Playgroud)
我搜索了但没有找到太多关于 smart_text 的信息!也许 Django 版本 4 或 Python 版本 3.10.3 有问题?
小智 26
这是因为 django-admin-charts 需要 smart_text 并且在 django 4 smart_text 中已从 utils/encoding 中删除,因此解决此问题的更好方法是在 settings.py 文件中添加此代码
import django
from django.utils.encoding import smart_str
django.utils.encoding.smart_text = smart_str
Run Code Online (Sandbox Code Playgroud)
小智 2
我查了一下,问题似乎出在 Django 版本上。smart_text文件中不存在函数django/utils/encoding.py。我从 4.0.2 降级到 3.2.13,在 settings.py 中将 PyMemcacheCache 设置为默认缓存,它可以工作。就我而言,降级作为 Django 是不可接受的。3.2.13不支持redis缓存,但它可能对你有帮助。我们希望 django-admin-charts 能够添加对 Django 4.0 的支持。
| 归档时间: |
|
| 查看次数: |
11971 次 |
| 最近记录: |