登録したデータの一覧からキーワード検索をかけたいのですが、そもそもフォームが表示されず
情報を参照しても解決できませんでした。
以下のコードはどこが間違っているのかご指摘いただけたら嬉しいです。
django2.1 python3.6
view
1class ListView(ListView): 2 model = Product 3 paginate_by = 20 4 5 def get_queryset(self): 6 user_id = self.request.user.id 7 8 queryset = super().get_queryset().filter(group=user_id).order_by('-created_at') 9 form = SearchForm(self.request.GET) 10 form.is_valid() 11 self.request.form = form 12 13 key_word = form.cleaned_data.get('key_word') 14 if key_word: 15 for word in key_word.split(): 16 17 queryset = queryset.filter().order_by('-created_at') 18 19 return queryset
forms
1class ProductSearchForm(forms.Form): 2 3 key_word = forms.CharField( 4 required=False, 5 widget=forms.TextInput( 6 attrs={ 7 'class': "form-control", 8 'placeholder': "キーワード", 9 'name': "key_word", 10 } 11 ), 12 )
template
1<div class="form-group"> 2 <div class="input-group"> 3 {{ form.key_word }} 4 <div class="input-group-append"> 5 <button type="submit" class="btn btn-primary" id="search-button">検索</button> 6 </div> 7 </div> 8</div>
あなたの回答
tips
プレビュー