Я работаю на сервере ubuntu, и это мой первый проект веб-разработки, основанный на django. После того, как я разместил сайт с помощью apache2, mod_wsgi , сайт работает, но я столкнулся с двумя проблемами:
1) Все пользователи и другие записи в базе данных были потеряны. Я пробовал makemigrations и миграцию, но это не помогло.
2) Я попытался снова добавить все записи, но теперь возникла проблема с добавлением изображений в ImageField в базах данных с помощью Pillow модуль. Там написано Модуль _imaging C не установлен . Ошибка возникает на сайтах- packages \ PIL \ Image.py (я использую virtualenv) где-то около строки 93, которая является from . import _imaging as core
.
Python версия : 3.7, django версия: 3.0, версия ubuntu: 18
Вот все исправления, которые я пробовал:
1) Изменена строка 93 в PIL / Image.py с from . import _imaging as core
до from PIL import _imaging as core
. Без изменений, ошибка все равно возникает .
2) Пробовал установить libjpeg
со следующим кодом - sudo apt-get install libjpeg-dev
. Оказалось, что он у меня уже был глобально.
3) Изменил расположение каталога virtualenv где-то внутри / var / www / на / usr / local /, потому что где-то я читал, что могут быть проблемы с разрешениями, и файлы внутри / usr / local / доступны всем пользователям. Это тоже не сработало.
4) В wsgi.py внутри проекта я добавил путь к моему virtualenv (sys.path.append('/usr/local/rupyakenv/lib/python3.7/site-packages')
), а также путь к PIL (sys.path.append('/usr/local/rupyakenv/lib/python3.7/site-packages/PIL')
) внутри Venv. По-прежнему сохраняется та же ошибка.
5) Я проверил файлы внутри библиотеки PIL, и у них есть следующие имена, начинающиеся с «_imaging»:
sites-packages/PIL -->
...
_imaging.cpython-37m-x86_64-linux-gnu.so
_imagingcms.cpython-37m-x86_64-linux-gnu.so
_imagingft.cpython-37m-x86_64-linux-gnu.so
_imagingmath.cpython-37m-x86_64-linux-gnu.so
_imagingmorph.cpython-37m-x86_64-linux-gnu.so
_imagingtk.cpython-37m-x86_64-linux-gnu.so
...
Я все еще не смог решить Это. Кто-нибудь может мне помочь? спасибо