Ich bin neu hier und in Django. Aber ich brauche Ihre Hilfe :)Django Update Feld Wert nach dem Senden
ich eine Suchseite mit Listview erstellt haben, FormMixin Klasse und eine einfache Formview:
class Search(ListView,FormMixin):
template_name = "users/search.html"
form_class = SearchForm
def get_context_data(self,**kwargs):
"""To get results"""
def post(self, request, *args, **kwargs):
return SearchFormView.as_view()(request)
Und
class SearchFormView(FormView):
template_name = 'users/search.html'
form_class = SearchForm
def get_success_url(self):
return reverse_lazy('users:search')
def get_initial(self):
if 'keySearch' in self.request.session:
for k in self.request.session.pop('keySearch'):
initial[k] = self.request.session.pop(k)
return initial
def form_valid(self, form):
print "Form valid"
request = form.cleaned_data
print "Search field {}".format(request)
for k,v in request.iteritems():
self.request.session[k]=v
self.request.session['keySearch']=request.keys()
return super(SearchFormView,self).form_valid(form)
Aber jedes Mal, schicke ich die Form, Das Feld "Suche" wird ausgeblendet. Mein Ziel ist es, im Feld zu bleiben, die Benutzereingabe und das Schlüsselwort und die Ergebnisse der Suche gleichzeitig anzuzeigen. Ich schätze, ich benutze die get_initial-Methode nicht auf eine gute Art und Weise.
Außerdem tut mir leid für diesen schmutzigen Code. Ich hoffe, Sie haben die Lösung und keine Kommentare würde :)
Mit freundlichen Grüßen
Sie müssen Ihr leeres Formular vor dem Senden an den Benutzer ausfüllen. 'form_data = {'form_field': 'prefilled_form_field_data'}' 'form = YourForm (initial = form_data)' 'return render (Anfrage," template.html ", {'form': form})' ' – rwx