固定 これは私の解決策でした。メインプログラムurls.pyにこれらの行を追加する必要がありました。 django.confインポート設定からDjango静的イメージファイルリソースを読み込めません
django.conf.urls.staticインポート静的
urlpatternsから + =静的(settings.MEDIA_URL、DOCUMENT_ROOT = settings.MEDIA_ROOT)
Iアイテムと呼ばれるモデルを有しますそこに私はイメージフィールドを持っています。私は、データベースにイメージを持つ新しいアイテムを追加し、インデックステンプレートの中にロードしようとしました。しかし、私はそれが言うコンソール( "WEBSITENAME/items_media/items/image.jpg 404(Not Found)")を見るとイメージを取得しません。
私はこの問題がsettings.pyファイル内にあると思うが、私がここで間違っていたことを正確に理解してください。
index.htmlをテンプレート
{% load static %}
<div class="item" style="background-image: url('{{ item.img.url }}')">`
Model.py
class Item(models.Model):
name = models.CharField(max_length=200)
img = models.ImageField(upload_to='items', default='', blank=True, null=True)
def __str__(self):
return "%s" % (self.name)
Views.py
def index(request):
latestItems = Item.objects.all().order_by('-id')[:3][::-1]
return render(request, 'webshop/index.html', {'latestItems' :latestItems})
settings.pyあなたsettings.py
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'
、あなたが示されているディレクトリのルート・構造により、このdocument
を読んで
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
MEDIA_ROOT = os.path.join(SITE_ROOT, 'site_media/')
MEDIA_URL = 'site_media/'
私はそれを修正することができました。メインのurls.pyファイルに次の行を追加する必要がありました。django.confインポート設定から django.conf.urls.staticからインポートstatic urlpatterns + = static(settings.MEDIA_URL、document_root = settings.MEDIA_ROOT) – DjangoPleb1234
安全のために、あなたが追加される場合があり、心に留めておく: '場合settings.DEBUG: urlpatterns + =静的(settings.STATIC_URL、DOCUMENT_ROOT = settings.STATIC_ROOT) urlpatterns + =静的(settings.MEDIA_URL、DOCUMENT_ROOT =設定。 MEDIA_ROOT) ' – Jon