2017-02-06 10 views
1

私はDjango(1.10)を初めて使用していますので、よろしくお願いいたします。私は自分のモデルClothesから画像を視覚化しようとしています。訓練するための小さなウェブショップを作成しようとしています。HTMLのモデルの画像Django 1.10

マイモデル:

:私はスタックを検索して出会ったのオプションを試してみました

from __future__ import unicode_literals 

from django.db import models 
from django.utils import timezone 

class Clothes(models.Model): 
    user = models.ForeignKey('auth.User') 
    title = models.CharField(max_length=200) 
    description = models.TextField() 
    image = models.ImageField(upload_to = '/pic_folder/', default = '/pic_folder/None/no-img.jpg') 
    type_clothes = models.CharField(max_length=100) 
    created_date = models.DateTimeField(
      default=timezone.now) 
    published_date = models.DateTimeField(
      blank=True, null=True) 

    class Meta: 
     verbose_name = "Kleding" 
     verbose_name_plural = "Kleding" 

    def publish(self): 
     self.published_date = timezone.now() 
     self.save() 

    def __str__(self): 
     return self.title 

Views.py

from django.shortcuts import render 
from django.utils import timezone 
from .models import Clothes 

def clothes_overview(request): 
    clothes= Clothes.objects.filter(published_date__lte=timezone.now()) 
    return render(request, 'Clothes/clothes_overview.html', {'clothes' : clothes}) 

clothes_overview.html

{% load staticfiles %} 
<html> 
    <head> 
     <title>WebShop</title> 
     <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> 
     <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"> 
     <link rel="stylesheet" href="{% static 'css/clothes.css' %}"> 
    </head> 
    <body> 
     <div> 
      <h1><a href="/">Clothing WebShop</a></h1> 
     </div> 

     {% for cloth in clothes %} 
      <div> 
       <p>published: {{ cloth.published_date }}</p> 
       <h1><a href="">{{ cloth.title }}</a></h1> 
       // DISPLAY IMAGE HERE 
       <p>{{ cloth.text|linebreaksbr }}</p> 
      </div> 
     {% endfor %} 
    </body> 
</html> 

   <img src="{{ cloth.image.url }}"> 

これは他人を助けましたが、私のページに壊れた画像が残っていました。私は、Google Chromeを使用してソースに見て、パスが(hoodie.jpgに対して特異的)であることが見出さ:

<img src="pic_folder/hoodie.jpg"> 

Iは、別の方法を試みた:

   <img src="{% static 'pic_folder/image.jpg' %}"> 

これは画像を示したが。私のブラウザでjpgを何度も!私が見つけたパスは次のとおりです。

<img src="/static/pic_folder/image.jpg"> 

私は何とか画像がウェブページに動的にロードされるように、これらの2つの方法を組み合わせる必要があります。誰か助けてくれますか?あなたが提案するように

答えて

1

Djangos staticテンプレートタグは、あなたが変数に渡すことができます -

<img src="{% static cloth.image.url %}"> 
+1

はありがとう、あなたのアプローチを組み合わせて!私は正しい構文であまりにも苦労していた –

+0

@AnnaJeanine - 心配しないで、あなたは近くにいた! – Sayse

+0

Django 1.10では 'staticfiles'の代わりに' {%load static%} 'が好きです。 http://stackoverflow.com/a/34424007/621690を参照してください。 – Risadinha

関連する問題