# 导入日志模块,用于记录日志信息 import logging # 导入Django表单模块 from django import forms # 从haystack.forms导入SearchForm,用于实现搜索功能 from haystack.forms import SearchForm # 创建日志记录器 logger = logging.getLogger(__name__) # 定义博客搜索表单类,继承自Haystack的SearchForm class BlogSearchForm(SearchForm): # 定义搜索查询字段,设置为必填项 querydata = forms.CharField(required=True) # 重写search方法,实现自定义搜索逻辑 def search(self): # 调用父类的search方法获取搜索结果 datas = super(BlogSearchForm, self).search() # 检查表单数据是否有效 if not self.is_valid(): # 如果无效,返回无查询结果 return self.no_query_found() # 如果查询数据存在 if self.cleaned_data['querydata']: # 记录查询关键字到日志中 logger.info(self.cleaned_data['querydata']) # 返回搜索结果 return datas