Django prüfen, ob checkbox ausgewählt ist
Zur Zeit arbeite ich an einem relativ einfachen django-Projekt und könnte etwas Hilfe gebrauchen. Es ist nur eine einfache Datenbank-Abfrage-front-end.
Derzeit bin ich fest auf die Verfeinerung der Suche über die Checkboxen, radio-buttons etc
Das Problem, das ich habe, ist, herauszufinden, wie zu wissen, Wann ein Kontrollkästchen (oder mehrere) ausgewählt ist. Mein code bisher ist:
views.py
def search(request):
if 'q' in request.GET:
q = request.GET['q']
if not q:
error = True;
elif len(q) > 22:
error = True;
else:
sequence = Targets.objects.filter(gene__icontains=q)
request.session[key] = pickle.dumps(sequence.query)
return render(request, 'result.html', {'sequence' : sequence, 'query' : q, 'error' : False})
return render(request, 'search.html', {'error': True})
search.html
<p>This is a test site</p></center>
<hr>
<center>
{% if error == true %}
<p><font color="red">Please enter a valid search term</p>
{% endif %}
<form action="" method="get">
<input type="text" name="q">
<input type="submit" value="Search"><br>
</form>
<form action="" method="post">
<input type='radio' name='locationbox' id='l_box1'> Display Location
<input type='radio' name='displaybox' id='d_box2'> Display Direction
</form>
</center>
Meine aktuelle Idee ist, dass ich die Checkboxen/radio-buttons ausgewählt werden und je nachdem, welche sind, die richtigen Daten werden abgefragt und in einer Tabelle angezeigt.
Also speziell:
Wie kann ich überprüfen, ob bestimmte check-Boxen aktiviert sind? und wie gebe ich diese Informationen auf views.py
InformationsquelleAutor user3496101 | 2015-04-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Radio-Buttons:
In den HTML-Code für Ihr radio-buttons, müssen Sie alle zugehörigen radio-Eingänge auf denselben Namen haben, haben eine vordefinierte "value" - Attribut, und optimal, einen umlaufenden label-tag, wie diesem:
Dann in Ihrem Blick, Sie können sehen, welche ausgewählt wurde, indem Sie für das shared-Attribut "name" in der POST-Daten. Es ist Wert, wird der zugehörige "Wert" - Attribut des HTML-input-tag:
Funktioniert, aber es erfordert die manuelle überprüfung. Es ist besser, erstellen Sie eine Django-form erste. Dann Django wird diese prüft für Sie:
forms.py:
your_template.html:
views.py:
Checkboxen:
Checkboxen Aussehen:
forms.py:
views.py:
Weiter Lesen:
https://docs.djangoproject.com/en/1.8/ref/forms/fields/#choicefield
https://docs.djangoproject.com/en/1.8/ref/forms/widgets/#radioselect
https://docs.djangoproject.com/en/1.8/ref/forms/fields/#booleanfield
In der checkbox z.B. MyForm erzeugt eine checkbox mit dem label "Etwas truthy". In my_view(), request.POST["something_truthy"] ist True, wenn das Kontrollkästchen aktiviert wurde, und False, wenn nicht.
Danke für die Antwort! Ich verstehe diesen Teil jetzt 🙂 ich habe auch follow-up Frage und zwar, wenn könnten Sie vielleicht geben Sie mir einige Ratschläge. Ich habe emendiert den original-Beitrag. Meine Frage ist zum filtern von bestimmten Spalten habe ich gesucht auf google und nicht finden, was ich Suche. Nochmals vielen Dank!
Sie sollten entfernen Sie Ihre follow-up-Frage diese Frage und machen, dass seine eigene separate Frage. Stackoverflow ist so konzipiert, dass eine-spezifische-Frage >>> eine-bestimmte-Antwort, sondern als laufende Hilfe zu einem Thema. Wenn diese Antwort befriedigt Ihre ursprüngliche Frage, markieren Sie es als "akzeptiert" zu werden, damit andere mit ähnlichen Fragen kann es leicht finden.
Ich ging voran und nahm sich die Freiheit, das entfernen der follow-up-Frage, diese Frage ist text für Klarheit. Wenn Sie brauchen, um zu finden, können Sie darauf zugreifen, in der Frage der überarbeitung der Geschichte.
InformationsquelleAutor Christian Abbott
Modelle :
In der Vorlage:
Vorausgesetzt, Sie senden das Formular als einen BEITRAG, die Werte der ausgewählten Checkboxen sind in der Anfrage.POST.getlist('tag').
Beispiel :
Sagen, wenn 1,4 überprüft wurden,
check_values enthalten [1,4] (diese Werte wurden überprüft)
InformationsquelleAutor vatay