【发布时间】:2021-05-14 12:37:53
【问题描述】:
我正在尝试为我的用户安装和使用超赞的头像
from awesome_avatar.fields import AvatarField
class MyUser(models.Model):
image = AvatarField(upload_to='users/%Y/%m/%d/', width=100, height=100)
但是当我尝试开始我的项目时,我遇到了模块名称“StringIo”的问题
from StringIO import StringIO
ModuleNotFoundError: No module named 'StringIO'
我尝试安装它,但它没有正确的版本 这里是错误全文
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\awesome_avatar\fields.py", line 8, in <module>
from cStringIO import StringIO
ModuleNotFoundError: No module named 'cStringIO'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\commands\runserver.py", line 110, in inner_run
autoreload.raise_last_exception()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception
raise _exception[1]
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\__init__.py", line 375, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\config.py", line 301, in import_models
self.models_module = import_module(models_module_name)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "D:\work\Ubertrip\ubetrip\trips\models.py", line 5, in <module>
from awesome_avatar.fields import AvatarField
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\awesome_avatar\fields.py", line 10, in <module>
from StringIO import StringIO
ModuleNotFoundError: No module named 'StringIO'
D:\work\Ubertrip\ubetrip\ubetrip\settings.py changed, reloading.
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\awesome_avatar\fields.py", line 8, in <module>
from cStringIO import StringIO
ModuleNotFoundError: No module named 'cStringIO'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\commands\runserver.py", line 110, in inner_run
autoreload.raise_last_exception()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception
raise _exception[1]
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\__init__.py", line 375, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\config.py", line 301, in import_models
self.models_module = import_module(models_module_name)
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "D:\work\Ubertrip\ubetrip\trips\models.py", line 5, in <module>
from awesome_avatar.fields import AvatarField
File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\awesome_avatar\fields.py", line 10, in <module>
from StringIO import StringIO
ModuleNotFoundError: No module named 'StringIO'
我该如何解决? 或者也许有人可以建议我更好地使用裁剪图像的用户个人资料头像?
【问题讨论】:
-
@hakim13 或者我只需将重要的 IO 放在我的模块文件中?
-
我查看了他们的 GitHub 仓库,我认为这个包已经过时了(最后一次更新是 7 年前)github.com/voronind/django-awesome-avatar/pull/21
-
@hakim13or 哦,好的,谢谢,也许您知道用于此目的的其他解决方案?我需要应用程序让用户能够裁剪图像吗?甚至可能是 js 上的东西?
标签: django django-models