Миниатюра таблицы kvstore не существует

Я не могу получить миниатюру, отображаемую в моем шаблоне. Я получаю эту ошибку:

Джанго.децибел.а utils.ProgrammingError: (1146, "Table' ia_website.thumbnail_kvstore "не существует")

  • установлен sorl_thumbnail-12.3
  • я использую MariaDB 10.1.11
  • у меня нет миграции, которая не выполняется
  • я могу видеть изображение, если я не использую тег "эскиз"

вот что я сделал

  • In settings.py:

    INSTALLED_APPS = [
        ...
        'sorl.thumbnail',
    ]
    
    THUMBNAIL_DEBUG = TRUE
    
  • In models.py

    import sorl
    ...
        image = sorl.thumbnail.ImageField(upload_to='thumbnails', null=True)
    
  • В моем шаблоне

    {% thumbnail content.image "237x110" as im %}
        <img src="{{ im.url }}">
    {% endthumbnail %}
    

4 ответов


Итак, после некоторых исследований, это выглядит как версия 12.3 из sorl-миниатюры на PyPI и Github разные!

если вы загружаете источник непосредственно из PyPI - вы обнаружите, что пакет не содержит каких-либо миграций. это причина, по которой таблица не существует, даже если вы выполнили все миграции.

На Github,миграция файлом для версии 12.3 наверняка существует.

вы есть три варианта:

  1. создать таблицу с помощью ./manage.py syncdb (только если вы используете Django 1.8 или ниже)
  2. установить непосредственно из Github для версии 12.3
  3. версия 12.4a1 sorl-миниатюры, которая включает в себя миграции

вы можете установить из Github напрямую следующим образом:

pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3

sorl-thumbnail версии 12.3 поддерживает до Django версии 1.8, где команда syncdb все еще существует. Если вы запуск Django 1.8 или ниже, вы можете создать отсутствующую таблицу, запустив

python manage.py syncdb

Если только

manage.py makemigrations 

не создает никаких миграций, попробуйте

manage.py makemigrations thumbnail 
manage.py migrate

это создаст миграции для миниатюр, а затем перенесет их. Это работает на меня. Я использую Django 1.9 и sorl.эскиз 12.3.


используйте версию 12.3 sorl-thumbnail. Следуйте этим шагам

удалить текущую версию

pip uninstall sorl-thumbnail

установка версии 12.3

pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3

миграция

python manage.py migrate

для меня ошибка только что произошла при выполнении dumpdata.

поэтому, если вы найдете этот поток здесь, потому что вы пытались использовать dumpdata, то исключая приложение эскиза, вероятно, будет легким обходным путем для вас:

python manage.py dumpdata --exclude thumbnail

конечно, вы должны следовать другим ответам, Если вы хотите, чтобы ваш Django чистый.