我實現使用TemplateView在Django類搜索功能get_query_set(個體經營)不會被調用在Django
class part_search_view(TemplateView):
model = part_list
context_object_name = 'part_list'
template_name = 'part_list.html'
def get_context_data(self, **kwargs):
context = super(part_search_view, self).get_context_data(**kwargs)
context['my_list'] = populate_nav_bar()
return context
def get_queryset(self):
key = self.request.GET['search_text']
partlist = part_list.objects.filter(Q(part_id__icontains=key) | Q(part_name__icontains=key))
return partlist
part_list.html
{% for part in part_list %}
<a href="{% url 'parts:part_detail' part.id %}" class="list-group-item">{{ part.part_id }} - {{ part.part_name }}</a>
<a href="{% url 'parts:part_update_view' part.id %}" > Edit </a>
{% endfor %}
的URL映射爲
url(r'^search/',views.part_search_view.as_view(),name='part_search_view'),
被按下搜索按鈕後,按鈕serch含
<form action="{% url 'parts:part_search_view'%}" role="form" class="navbar-form navbar-left" method="get" >
{% csrf_token %}
<div class="form-group ">
<input class="form-control mr-sm-2" type="text" placeholder="Search" name="search_text">
<button class="form-control search_buton btn btn-success " type="submit" >Search</button>
</div>
</form>
形式的地址是
http://127.0.0.1:8000/parts/search/?csrfmiddlewaretoken=PWjEw1hRsyH9B6YcseVuhS0urX8L7f170q9ucLF9hTPQPThulpgMSP4y5xhScCVr&search_text=mp6
但get_query_set(個體經營)這裏沒有叫get_context_data(...)被稱爲雖然,爲什麼?
我們可以使用列表視圖的URL有另一個參數,除了URL映射中的像我在這裏使用這裏 –
當然是的。您可以在任何您喜歡的視圖中使用任何參數。 –