Ich fange an zu lernen Django und ich definierte Klassen basierte Ansichten, erstellte ich eine Ansicht, die Sie manuell eingeben Bücher Details wie: Titel, Autor, ... Ich auch Suchfeld hinzugefügt in der gleichen Ansicht, die automatisch Buchdetails durch API- und Web-Scraping finden sollte. Die Ergebnisse sollten in einer neuen Ansicht angezeigt werden, einer neuen URL, die sich basierend auf Benutzereingaben ändert, mit mehreren Ergebnissen, die der Benutzer am besten auswählen würde.Wie bekomme ich ein Keyword von HTML-Vorlage - Django
Problem ist, dass ich noch nicht weiß, wie Benutzer Eingaben von definierten Suchfeld erhalten und es an eine andere Ansicht (andere Klasse) übergeben, die es manipulieren wird.
Suchfeld in Vorlage:
<div class="col-sm-offset-2 col-sm-10">
<form id="custom-search-input" action="{% url 'find_book' %}" method="get" accept-charset="utf-8">
<div class="input-group col-sm-10" >
<input type="text" class="form-control input-lg" placeholder="Find books" />
<span class="input-group-btn">
<button class="btn btn-info btn-lg" type="submit">
<i class="glyphicon glyphicon-search"></i>
<i class="fa fa-search"></i>
</button>
</span>
</div>
</form>
</div>
definierte Klasse, wo Benutzereingaben können:
class BookCreateView (CreateView, SuccessMessageMixin,):
model = Appointment
fields = ['title', 'author', 'time']
success_message = 'Appointment successfully created.'
def get_context(self, **kwargs):
context = super(BookCreateView, self).get_context_data(**kwargs)
Klasse, die ich Ergebnisse wollen zeigen (keine Ahnung, wie):
class BookFindView (View):
response_template = 'book_find.html'
Jeder Tipp oder Tutorial oder Dokumentation empfohlen würde sehr geschätzt werden.
Ist dies eine Frage, wie Django Views Benutzereingaben akzeptieren können? Mit einfacheren Ansichten sollte [diese Lösung] (http://stackoverflow.com/a/21207496/1842146) die Aufgabe erledigen (und ich denke auch, dass ich für diese einfacheren Ansichten eine 'def' anstelle einer' Klasse' verwende BookFindView ist wahrscheinlich eine bessere Option). –