I have a search form
class PostSearchForm(forms.Form):
keyword = forms.CharField(label=_('Search'))
def __init__(self,*args,**kwargs):
self.request = kwargs.pop('request', None)
super(PostSearchForm,self).__init__(*args,**kwargs)
raise Exception(self.request) # This returns none
categories = Category.objects.filter(status=True)
self.fields['categories'] = forms.ModelChoiceField(queryset=categories, widget=forms.SelectMultiple(attrs={'class': 'some-class'}))
Whenever search is made I have a build a form with default value as what they have searched, so what I tried is get the url parameters in form init and set the value but it was returning None due to some mistake. Can any one tell me where I am wrong
Updated Question
views.py
def get(self,request,category,*args,**kwargs):
search_form = PostSearchForm()
return render(request,self.template_name,{'search_form':search_form})
Template
<form method="get" action="." id="searchForm">
{{ search_form.keyword }} # When searched then the value should be searched term
{{ search_form.categories }}
</form>
URL
http://example.com/?keyword=test
In the form I need to show test as value
initialanyway.)