ich versuche eine Liste per Shortcut .render zu übergeben. Allerdings ist diese immer leer.
Code: Alles auswählen
def serachView(request):
filteredObjects = []
if request.method == 'POST':
filters = Data(
.
.
.
)
filteredObjects = filters.search()
print(filteredObjects)
print(filteredObjects)
return render(request, 'searchengine/index.html', {'filteredObjects': filteredObjects})
Es liegt eher daran, dass die Liste zwar bei dem Fall 'POST' richtig zurückgegeben wird, allerdings dadurch, dass die Seite nochmal geladen wird (window.location.reload() in JavaScript) natürlich die Seite neu angefordert und somit die leere initialisierte Liste mitgegeben wird. Leider habe ich nicht gefunden, wie man mit sowas umgeht.
Code: Alles auswählen
<QuerySet [<Hotel: Hotel object (1)>, <Hotel: Hotel object (2)>, <Hotel: Hotel object (4)>, <Hotel: Hotel object (5)>, <Hotel: Hotel object (6)>, <Hotel: Hotel object (7)>, <Hotel: Hotel object (8)>, <Hotel: Hotel object (9)>, <Hotel: Hotel object (10)>, <Hotel: Hotel object (11)>, <Hotel: Hotel object (13)>, <Hotel: Hotel object (14)>, <Hotel: Hotel object (15)>, <Hotel: Hotel object (16)>, <Hotel: Hotel object (17)>, <Hotel: Hotel object (18)>, <Hotel: Hotel object (19)>, <Hotel: Hotel object (20)>, <Hotel: Hotel object (22)>, <Hotel: Hotel object (23)>, '...(remaining elements truncated)...']>
[23/Oct/2022 09:00:52] "POST /searchengine/ HTTP/1.1" 200 233379
[]
[23/Oct/2022 09:00:52] "GET /searchengine/ HTTP/1.1" 200 5691
Mit freundlichen Grüßen