簡體   English   中英

模板中的Django外鍵對象圖像

[英]Django foreign key object image in template

好的,我知道有一千個人問過這個問題,但是我在這個網站上看起來都沒成功(也是Google),這是我的models.py

VENUE_IMAGE_PATH = os.path.join('images', 'venue_profiles/%Y/%m/%d')

 class Venue(models.Model):

    .....................
   name = models.CharField(max_length=100)
   address = models.CharField(max_length=100)
   city = models.CharField(max_length=100)
   ...........................

class VenueImage(models.Model):
  venue = models.ForeignKey(Venue, related_name="venue")
  image = models.ImageField(upload_to=VENUE_IMAGE_PATH, max_length=255)

這是我的views.py

def list(request):
  venues = Venue.objects.all()
  images=VenueImage.objects.all()

 return render_to_response('venues/list.html', {'venues':venues,'images':images}, 
  context_instance = RequestContext(request)) 

這是我的模板

{% for v in venues %}

<a href='#'>{{v.name}}</a>
<a href="{% url edit v.id %}" style="position:relative;left:10px;">edit</a>

{% if images %}
<img class='venue_image' src='images/venue_profiles/2012/10/25/{{images.url}}' 
    alt=''>
    {% endif %}
    {% endfor %}

現在,我嘗試了{{images.images.url}}{{images.url}} {{MEDIA_URL}}images/venue_profiles/%Y/%m/%d/{{image.url}} 我還嘗試了{%for i in images %} {{i.url}} {% endfor %} 我也嘗試了沒有'images/venue_profiles/2012/10/25'前綴,但似乎沒有任何效果。 有人可以幫我看看我在做什么錯。

# In models.py

class Venue(models.Model):
    ....
    name = models.CharField(max_length=100)
    ....
    images = models.ForeignKey(VenueImage)

class VenueImage(models.Model):
    image = models.ImageField(upload_to=VENUE_IMAGE_PATH)

# In views.py

def list(request):
    venues = Venue.objects.all()
    return render(request,
                  'venues/list.html',
                  {'venues': venues'})

# In template

{% for venue in venues %}
<a href '#'>{{ venue.name }}</a>
...
{% for image in venue.images %}
<img class='venue_image' src=''{{ image.url }}' alt=''>
{% endfor %}
{% endfor %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM