/ / Django लिस्ट व्यू फॉर्मेशन का उपयोग कर फॉर्म - django, listview, django-generic-views

फॉर्म - डीजेंगो, लिस्टव्यू, डीजेंगो-जेनेरिक-व्यूज़ का उपयोग करके Django ListView पेजिनेशन

मैं संदर्भ के रूप में "फ़ॉर्म" पास करने की कोशिश कर रहा हूं, मेरा कोड:

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 टेम्पलेट में।