0
我有一個模型,我有一個圖像名稱,圖像描述和圖像。我想使用這些字段來顯示帶有圖像描述的div,並在模型中爲每行顯示縮略圖。現在,當我試圖使我得到了模板:django ImageField不顯示,拋出ImportError
TypeError: 'ImageFieldFile object is not subscriptable
During handling of the above exception another error occured:
ImportError: No module named 'backends'
代碼:
Models.py
class PictureType(models.Model):
name = models.CharField(max_length = 150)
description = models.CharField(max_length = 1000)
image = models.ImageField(upload_to='AppName/images/')
views.py
class indexView(generic.ListView):
model = PictureType
template_name = 'index.html'
的index.html
{% for visual in object_list %}
<div class="col-sm-4">
<div class="thumbnail">
<a href="#" class="">
<div align="center" class={{ visual.name }}>
<h4 class="">{{ visual.name }}</h4>
<p class="">{{ visual.description }}
</p>
</div>
<img src= "{{ visual.image.url }}" alt="..." class="">
</a>
</div>
</div>
{% endfor %}
settings.py
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media')
MEDIA_URL = '/media/'
urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', indexView.as_view(), name = 'index'),
]
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
UPDATE: 當我改變:
<img src= "{{ visual.image.url }}" alt="..." class="">
到
<img src= "{{ visual.image }}" alt="..." class="">
我沒有得到上述錯誤,但圖像不通過任何一個,它們看起來像這樣:
我在'settings.py'中有'BACKEND':'django.template.backends.django.DjangoTemplates'。 – imanidiot
如果你想導入它,那麼它需要拼寫'後端'** **。 – doratheexplorer0911