0
我正在創建一個房地產代理網站。每個優惠都有幾張照片,其中一張照片在管理面板中標記爲主照片後應顯示在索引頁面上,但不幸的是它不是。來自ImageField的圖片不會加載到模板中
我認爲問題是在views.py
或index.html
。 Settings.py
和urls
似乎很好,因爲我可以通過在瀏覽器中輸入圖像的確切URL(例如.../media/photos/name_of_the_image.jpg)來訪問給定的圖像 - 然後圖像顯示在瀏覽器中。
Models.py:
class Offer(models.Model):
category = models.ForeignKey(Category)
city = models.CharField(max_length=128)
district = models.CharField(max_length=128)
floor_space = models.IntegerField()
price = models.IntegerField()
def __unicode__(self):
return "Offer nb %s" % (self.id)
class OfferImage(models.Model):
offer = models.ForeignKey(Offer, related_name='images')
images = models.ImageField(upload_to='photos/', blank=True, null=True)
main_image = models.BooleanField(default=False)
Views.py:
def index(request):
category_list = Category.objects.all
latest_offers = Offer.objects.order_by('-pub_date')[:10]
context_dict = {
'categories': category_list,
'latest_offers': latest_offers,
}
return render(request, 'cardom/index.html', context_dict)
Urls.py:
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include('cardom.urls')),
]
if settings.DEBUG:
urlpatterns += patterns(
'django.views.static',
(r'^media/(?P<path>.*)',
'serve',
{'document_root': settings.MEDIA_ROOT}),)
if not settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
的index.html:
<div class="col-md-6">
<table class="table">
{% for offer in latest_offers %}
<tr><th>{{offer.category}}</th></tr>
<tr><td><img src="{{ offer.images.url }}" height="120" width="200" alt="error"></td></tr>
<tr><td>{{offer.city}} {{offer.district}} {{offer.floor_space}} {{offer.price}} </td></tr>
{% endfor %}
</table><br />
</div>
問題在哪裏?
我添加了main_image,這是一個簡單的方法,使其工作,謝謝 – dominik791