Freunde, ich möchte wissen, wie wir Ergebnisse von zwei verschiedenen Abfragesätzen in Django-Vorlage präsentieren können.Wie man Ergebnisse von zwei Abfragesätzen in Django-Vorlage randomisiert
Mein views.py ist wie folgt:
def index(request):
answers = Answer.objects.filter(user=request.user)
questions = Question.objects.filter(user=request.user)
return render(request,"welcome/index.html",locals())
und Meine Vorlage ist:
{% extends "layout.html" %}
{% block content %}
{% for q in questions %}
{{ q.title }}
{% endfor %}
{% for a in answers %}
{{ a.answer }}
{% endfor %}
{% endblock %}
Aber wie erwartet, das die Fragen zuerst und dann Antworten listet. Ich möchte Fragen und Antworten nach dem Zufallsprinzip haben. Antworten und Fragen können in beliebiger Reihenfolge in der Vorlage erscheinen. Wie mache ich das, Freunde?
Das ist, was ich tun würde. Sie brauchen nicht einmal den if-Block. '{{item.answer}} {{item.title}}' wird den einen, der existiert, und einen leeren String für den anderen rendern ;-) – schwobaseggl
Ich nahm an, dass er komplexeres Rendering für jedes hatte, was er für die Frage zurechtlegte. Wenn nicht, funktioniert Ihr Ansatz definitiv. – spectras
Stimmt natürlich und sauberer. Ich hielt es für einen kleinen, wissenswerten Trick. – schwobaseggl