Wie kann ich Suchergebnisse basierend auf dem vom Benutzer bereitgestellten gefilterten Wert anzeigen?

8

Ich habe ein Filtersystem entwickelt, bei dem es drei Optionen gibt, wie zum Beispiel den Objekttyp, die Anzahl der Räume und den Höchstpreis. Jedes Mal, wenn sie Filteroptionen auswählen, erhält der Benutzer sofort sein Suchergebnis. Zum Beispiel, wenn ein Benutzer Wohnungstyp und Anzahl der Zimmer als 4 und Höchstpreis von 12000 ausgewählt hat, dann wird der Benutzer diejenigen Mieten, deren Eigenschaftstyp Wohnung mit 4 Zimmern von 12000 Mark ist. Ich habe den Front-End-Teil mit React.js entwickelt und konnte Benutzerdaten erfolgreich abrufen. Ich habe auch Daten an Ajax übergeben, aber ich habe keine Ahnung, wie ich die Suchergebnisse basierend auf gefilterten Wert von Benutzer ohne Seite laden angezeigt werden sollte.

Ajax-Code

%Vor%

Views.py

%Vor%     
milan 17.02.2016, 07:13
quelle

3 Antworten

0

für die Effizienz in der Python sollten Sie die Möglichkeit finden, einmal mit allen Parametern zu filtern, anstatt das Gefilterte des Gefilterten zu filtern, aber das ist nicht unbedingt notwendig, um das Ergebnis zu sehen.

in success: function(data){ Sie sollten jQuery verwenden, um data in die Seite einzufügen. Sie könnten mit etwas wie

beginnen %Vor%     
Marco Munari 29.03.2016 12:08
quelle
0

Eine Sache, die Sie in Betracht ziehen könnten, ist das Rendern des HTML zu einer Zeichenkette ( django - render_to_string funktioniert nicht ) auf der Serverseite und sendet diese zusammen mit den Daten in einer Ajax-Antwort zurück. Ersetzen Sie dann das HTML, in dem die Liste enthalten ist, durch das, das vom Server gerendert wird.

Django:

%Vor%

Vorlage (list_html_template):

%Vor%

Javascript:

%Vor%     
Ian Kirkpatrick 20.04.2017 20:22
quelle
0

Sie können Ihre Ansicht aufräumen, indem Sie Folgendes tun:

%Vor%

Wenn Sie die Daten in Ihrer AJAX-Anfrage zurückerhalten, löschen Sie im Teil success einfach Ihre Tabelle und durchlaufen Sie die Ergebnisse und hängen Sie Zeilen an die nun leere Tabelle mit Ihren Daten an.

    
Vedran 30.01.2018 07:17
quelle