django框架是基于MVT模式开发
Model-View-Template
Model:对表单进行搜索
编辑blog项目的forms.py文件
class SearchForm(forms.Form):
query = forms.CharField() #使用户产生查询项
View:实例化表单
编辑views.py文件
'''
实例化表单
#并利用get方法提交表单
最终url里包含query参数
'''
def post_search(request):
form = SearchForm()
query = None
results = []
if 'query' in request.GET:
form = SearchForm(request.GET) #实例化表单
if form.is_valid():
query = form.cleaned_data['query']
results = Post.objects.annotate(search=SearchVector('title','body'),).filter(search=query) #检索帖子
return render(request,'blog/post/search.html',{'form':form,'query':query,'results':results})
Template:创建一个模板,用以显示结果
在blo