0
我有通過django admin上傳的圖像,但它們沒有顯示。奇怪的是,我有另一個項目與EXACT相同的代碼,它的工作原理。 object.image.url輸出/media/media/image.jpg和我的其他項目一樣。但是這個項目並沒有顯示圖像。如果我從我的靜態文件夾中放置圖像,或者如果我硬編碼圖像,它可以正常工作。問題是,只有當我嘗試從管理員上傳的圖像不起作用。我在我的settings.py文件中丟失了什麼?或任何地方?即使路徑正確,Django object.image.url也不會顯示
Models.py:
from django.db import models
# Create your models here.
class Connect(models.Model):
title = models.CharField(max_length=70)
short_description = models.TextField(null=True, blank=True)
description = models.TextField()
image = models.ImageField(upload_to='media', blank=True, null=True)
def __str__(self):
return self.title
views.py:
def index(request):
about = About.objects.all()
staff = Staffmembers.objects.all()
ministries = Ministries.objects.all()
connect = Connect.objects.all()
context = {
'template': 'home',
'connect': connect,
'about': about,
'staff': staff,
'ministries': ministries,
}
return render(request,'home/index.html', context)
模板(的index.html):
<div class="connect-wrapper row">
<h1 class="title connect-title">Connect</h1>
{% for object in connect %}
<div class="home-div connect-div col-md-4">
<h4>{{ object.title }}</h4>
<p>{{ object.short_description }}</p>
{% if object.image %}
<img class="connect-image-home" src="{{object.image.url}}" alt="connect">
<p>{{object.image.url}}</p> //sanity check
{% endif %}
</div>
{% endfor %}
</div>
settings.py:
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
urls.py:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('home.urls'), name="home"),
]
是的先生。這很有效,非常感謝。我以前不必這樣做......我將不得不考慮發生這種事的原因。再次感謝。 – Brando