2017-04-05 76 views
0

我是新的Django,我试图创建项目,但我遇到了显示图像的问题。我有一个带有复选框的html表格,选择一个对象后,我希望在下一页显示图像,但我只能看到破碎的图像。Python - 在Django中显示图像

我可以显示图像这种方式:

<img src="{{ MEDIA_URL }}bird.png" class="img-responsive" style="width: 60px; height:80px; margin:auto;" /> 

但那么显然这个图像将在每个对象中所示。 但这种方式我在索引页使用它不会找到任何图片:

<img src="{{ tags.tag_image.url }}" class="img-responsive" style="width: 60px; height:80px; margin:auto;" /> 

这是我的views.py

def selected(request): 
    tags = request.GET.getlist('selected') 
    return render(request, 'tag/selected.html', {'all_tags':tags}) 

如果我使用:

def selected(request): 
    tags = request.GET.getlist('selected') 
    all_tags = Tags.objects.all 
    return render(request, 'tag/selected.html', {'tags':tags, 'all_tags':all_tags}) 

则会找到图像,但它也会显示所有的图像,即使我只选择一个。 这一直是我的问题一段时间,所以请如果任何人都可以帮助我,我真的很感激

+0

使用'Tag.objects.filter'与适当的参数。 OMG! –

回答

0

我会尽量正确地解释你的问题!但告诉我,如果我错了:

您的标签模型看起来是这样的:

class Tags(models.Model): 
    tag_image = models.ImageField(upload_to='/somewhere') 
    ... 

如果你想获得只有少数选择,在你看来,你会做这样的事情:

def selected(request): 
    tag_ids = request.GET.getlist('selected') 
    selected_tags = Tags.objects.filter(id__in=tag_ids) 
    return render(request, 'tag/selected.html', {'tags': selected_tags}) 

,然后在你的模板,你想是这样的:

​​

希望它有助于clari如何Django的工作...

+0

谢谢!有效 – Demina