Я новичок здесь и в Django. Но мне нужна ваша помощь :)Значение поля обновления Django после отправки
Я создал страницу поиска с помощью ListView, класса FormMixin и простого 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)
И
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)
Но каждый раз, отправленной формы, поле «поиск» пуст. Моя цель - сохранить в поле, вводить пользователя и отображать ключевое слово и результаты поиска в одно и то же время. Наверное, я не использую метод get_initial в хорошем смысле.
Кроме того, извините за этот грязный код. Я надеюсь, что у вас есть решение, и любые комментарии было бы здорово :)
С наилучшими пожеланиями
Перед отправкой пользователю необходимо заполнить пустую форму. 'form_data = {'form_field': 'prefilled_form_field_data'}' 'form = YourForm (initial = form_data)' 'return render (request," template.html ", {'form': form})' – rwx