1
將Django 1.9與Python 3.5,我想作一個簡單的搜索頁面:Django的 - 簡單的搜索
views.py
from django.views import generic
from django.shortcuts import render
from .models import Movie, Genre
class IndexView(generic.ListView):
template_name = 'movies/index.html'
page_template = 'movies/all_movies.html'
context_object_name = 'all_movies'
model = Movie
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context.update({
'all_genres': Genre.objects.all(),
'page_title': 'Latest'
})
return context
def get_queryset(self):
query = request.GET.get('q')
if query:
return Movie.objects.filter(title__icontains=query)
else:
return Movie.objects.all()
形式
<form method="GET" action="" id="searchform">
<input class="searchfield" id="searchbox" name="q" type="text" value="{{ request.GET.q }}" placeholder="Search..."/>
</form>
由於某種原因我不斷收到錯誤:
name 'request' is not defined
我不太確定我做錯了什麼,任何幫助將不勝感激。
是的!那完美的作品。謝謝! – mari