В настоящее время я учусь использовать Django для разработки веб-сервиса. Проходя онлайн-курс по Udemy, я столкнулся с проблемой использования ImageField в models.py. Моя проблема в том, что когда я выполняю команду runserver, Django показывает следующую ошибку, хотя я почти уверен, что библиотека Pillow установлена.
В models.py у меня есть следующий код:
from django.db import models
from django.contrib.auth.models import User
class UserProfileInfo(models.Model):
user = models.OneToOneField(User, on_delete=models.PROTECT)
portfolio = models.URLField(blank=True)
picture = models.ImageField(upload_to="profile_pics")
def __str__(self):
return user.self.username
Когда я запускаю сервер, я получаю следующую ошибку:
python manage.py runserver
Выполнение системных проверок ...
Unhandled exception in thread started by <function check_errors<locals>.wrapper at 0x10407b6a8>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 121, in inner_run
self.check(display_num_errors=True)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/django/core/management/base.py", line 410, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check
identified some issues:
ERRORS:
first_app.UserProfileInfo.picture: (fields.E210) Cannot use ImageField because
Pillow is not installed.
HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip
install Pillow".
System check identified 1 issue (0 silenced).
Итак, следуя сообщению, я проверил установленные модули, используя метод, представленный здесь: Как я могу получить список локально установленных модулей Python? . Следующий код запускается в файле в том же каталоге, что и manage.py. Я использую Pycharm для использования виртуальной среды, поэтому я предполагаю, что я использую ту же среду, что и проект Django, когда я запускаю сервер.
В результате описанного выше способа я мог видеть, что подушка установлена, например:
['argon2 == 0.1.10', 'bcrypt == 3.1.4', 'cffi == 1.11.5', 'django == 2.0.5', 'faker == 0.8.15', ' olefile == 0.45.1 ',' pillow == 5.0.0 ',' pip == 9.0.1 ',' pycparser == 2.18 ',' python-dateutil == 2.7.3 ',' pytz == 2018.4 ' , 'setuptools == 28.8.0', 'six == 1.11.0', 'text-unidecode == 1.2']
Как я могу исправить эту проблему? Или есть ли альтернатива использованию изображений в Django без подушки?