我正在使用python、graphene和django实现graphql解决方案,并得到以下导入错误:
Result: Failure Exception: ImportError: cannot import name 'force_text' from 'django.utils.encoding'
"/home/site/wwwroot/.python_packages/lib/site-packages/graphene_django/utils/utils.py", line 6, in <module> from django.utils.encoding import force_text
我不确定版本以及是否需要导入额外的模块。我的requirements.txt就像:
graphene>=2.1,<3
graphene-django>=2.1,<3
graphql-core>=2.1,<3
graphql-relay==2.0.1
django-filter>=2
有人有类似的问题,可以查看我使用的版本吗?谢谢
发布于 2021-12-17 07:58:37
在django 4.0中,我们没有force_text
https://docs.djangoproject.com/en/4.0/ref/utils/#module-django.utils.encoding
相反,将force_text
改为force_str
linux:
YOUR_VENV/lib/PYTHON_VERSION/site-packages/graphene_django/utils/utils.py
窗户:
YOUR_VENV/lib/site-packages/graphene_django/utils/utils.py
from django.utils.encoding import force_text
至
from django.utils.encoding import force_str
和
def _camelize_django_str(s):
if isinstance(s, Promise):
s = force_text(s)
return to_camel_case(s) if isinstance(s, six.string_types) else s
至
def _camelize_django_str(s):
if isinstance(s, Promise):
s = force_str(s)
return to_camel_case(s) if isinstance(s, six.string_types) else s
https://stackoverflow.com/questions/70382084
复制相似问题