2017-04-05 4 views
0

Ich bin neu mit Django und ich versuche, Projekt zu erstellen, aber ich habe ein Problem mit der Anzeige von Bildern. Ich habe eine HTML-Tabelle mit Checkboxen und nach der Auswahl eines Objekts möchte ich Bild auf der nächsten Seite anzeigen, aber ich kann nur gebrochenes Bild bekommen.Python - Anzeigen von Bildern in Django

ich kann dieses Bild Art und Weise angezeigt werden:

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

aber dann offensichtlich wird dieses Bild in jedem Objekt angezeigt. aber auf diese Weise, was ich in Index-Seite verwenden Sie es finden nicht alle Bilder:

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

dies mein views.py ist

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

wenn ich benutze:

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}) 

es dann finde die Bilder, aber dann werden auch alle Bilder angezeigt, auch wenn ich nur eins auswähle. das war mein Problem für eine Weile jetzt bitte, wenn jemand mir helfen könnte, würde ich das wirklich schätzen

+0

Verwenden Sie 'Tag.objects.filter' mit entsprechenden Argumenten. –

Antwort

0

Ich werde versuchen, Ihre Frage korrekt zu interpretieren! aber mir sagen, wenn ich falsch liege:

Ihre Schlagworte Modell sieht ungefähr so ​​aus:

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

Wenn Sie nur die ausgewählte wenige erhalten möchten, Ihrer Ansicht nach werden Sie so etwas tun:

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}) 

und dann in der Vorlage, wollen Sie etwas wie folgt aus:

{% for tag in tags %} 
<!-- tag is a single tag in this context --> 
<img src="{{ tag.tag_image.url }}" class="img-responsive" style="width: 60px; height:80px; margin:auto;" /> 
{% endfor %} 

Hoffe, dass es Clari hilft fy wie Django funktioniert ...

+0

OMG! Danke! es funktionierte – Demina