我在導航欄中有一個顯然可用的站點範圍的搜索表單,但是,搜索僅適用於主頁,因爲這是搜索代碼的視圖。我認爲基於類的視圖是答案,因此我可以輕鬆地將搜索功能添加爲混合或類似的東西。使用基於類的視圖進行站點範圍的導航欄搜索
底線:我有麻煩了基於抽象類中的搜索功能DRY
搜索表單回報www.site.com/?q=search。我需要從GET請求中獲取q並將該信息返回到我的search.html頁面。
這是我的代碼,因爲它代表
views.py
class HomeListView(ListView, Searchmixin):
model = Part
queryset = Part.objects.order_by('-creDate')
template_name = 'parts/index.html'
paginate_by = 20
is_paginated = True
search.py
class SearchMixin(object):
def sindex(self):
query = self.request.GET.get('q')
return httpResponse(query)
def perf(self, query):
if query is not None:
pollist = self.objects.filter(
Q(project__name__icontains=query) |
Q(owner__icontains=query) |
Q(description__icontains=query) |
Q(pnumber__icontains=query)
)
return render(request, 'parts/search.html', pollist)
謝謝我不知道。我的問題是,所提供的代碼有些缺陷,我似乎無法破譯。對不起,我應該更清楚一點。 –