我无法在模板中显示缩略图。我收到这个错误:
django.db.utils.ProgrammingError:(1146,“表'ia_website.thumbnail_kvstore'不存在”)
这就是我做的事情
在settings.py中:
INSTALLED_APPS = [
...
'sorl.thumbnail',
]
THUMBNAIL_DEBUG = TRUE
在models.py
中import sorl
...
image = sorl.thumbnail.ImageField(upload_to='thumbnails', null=True)
在我的模板中
{% thumbnail content.image "237x110" as im %}
<img src="{{ im.url }}">
{% endthumbnail %}
答案 0 :(得分:49)
如果只是
manage.py makemigrations
不会创建任何迁移,请尝试
manage.py makemigrations thumbnail
manage.py migrate
这将创建缩略图的迁移,然后迁移它们。 这个对我有用。 我正在使用Django 1.9和sorl.thumbnail 12.3。
答案 1 :(得分:37)
经过一些研究,看起来PyPI和Github上的sorl-thumbnail版本12.3
是不同的!
如果直接从PyPI下载源代码,您会发现该软件包不包含任何迁移。 即使您已经运行了所有迁移,这就是表格不存在的原因。
在Github上,版本12.3
的{{3}}肯定存在。
您有三种选择:
./manage.py syncdb
创建表格(仅当您正在运行Django 1.8或更低版本时)12.3
12.4a1
您可以直接从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
答案 2 :(得分:1)
使用sorl-thumbnail的12.3版。请按照以下步骤操作
删除实际版本
pip uninstall sorl-thumbnail
安装版本12.3
pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3
迁移
python manage.py migrate
答案 3 :(得分:0)
对我来说,执行dumpdata
时发生了错误。
因此,如果您在此处找到此主题是因为您尝试使用dumpdata
,那么排除缩略图应用可能是一种简单的解决方法:
python manage.py dumpdata --exclude thumbnail
当然,你应该按照其他答案,如果你想让你的Django干净。