Ich bin dabei eine kleine Django APP zu schreiben, die ein wenig auf einen schriftlichen Teil einer Sprachprüfung vorbereitet. Aber seit Tagen komme ich nicht mehr weiter, trotz einiger Recherche. Das Problem ist Folgendes:
Wie kriege ich das hin, dass nur einmal bei beginn (bei Neustart der Übung) ein zufälliger Text erzeugt wird, und ansonsten nur der bereits geladene Text?
Habe es schon erfolglos mit verschiedenen if | else Techniken probiert und auch mit anderen Seiten, auf die ich verlinkt habe. Am besten wäre es, wenn die Auswertung auf der gleichen Seite wie der Test zu sehen wäre ['telc/read_comp1.html'].
Hier der relevante Teil der view.py:
Code: Alles auswählen
def read_comp1(request):
exercise_list = ReadComp1.objects.filter(status='activated')
exercise = random.choice(exercise_list)
exercise.text, selection_set, solution = _read_comp1_mod(exercise.text)
if request.method == 'GET':
form = ReadComp1Form()
else:
form = ReadComp1Form(request.POST)
if form.is_valid():
a = form.cleaned_data['a']
b = form.cleaned_data['b']
c = form.cleaned_data['c']
d = form.cleaned_data['d']
e = form.cleaned_data['e']
f = form.cleaned_data['f']
answers = [a, b, c, d, e, f]
context = {
'exercise': exercise,
'selection_set': selection_set,
'form': form,
'answers': answers
}
return render(request, 'telc/read_comp1.html', context)
context = {
'exercise': exercise,
'selection_set': selection_set,
'form':form
}
return render(request, 'telc/read_comp1.html', context)