मैं संदर्भ के रूप में "फ़ॉर्म" पास करने की कोशिश कर रहा हूं, मेरा कोड:
class BlogSearchView(ListView):
model = Blog
paginate_by = 20
template_name = "base/blog_search.html"
def get_queryset(self):
qset = super(BlogSearchView, self).get_queryset()
new_data = self.request.GET.copy()
form = BlogSearchForm(new_data)
if form.is_valid():
search_term = form.cleaned_data["q"]#>> how to insert this in template
if search_term:
qset = qset.filter(Q(title__icontains=search_term)|
Q(body__icontains=search_term))
else:
qset = []
else:
form = BlogSearchForm() #>> how to insert this in template
return qset
get_context_data का उपयोग करने का प्रयास करें, लेकिन मुझे त्रुटियां मिलती हैं।
उत्तर:
उत्तर № 1 के लिए 1आपको अति करने की आवश्यकता है get_context_data
आपके में BlogSearchView
.
तेजी से समाधान:
class BlogSearchView(ListView):
def get_queryset():
...
#Your queryset definition
self.search_term = search_term
self.form = form
return qset
def get_context_data(self, **kwargs):
context = super(BlogSearchView, self).get_context_data(**kwargs)
context["search_term"] = self.search_term
context["form"] = self.form
return context
और फिर आप उपयोग कर सकते हैं search_term
तथा form
टेम्पलेट में।