diff --git a/forms.py b/forms.py new file mode 100644 index 0000000..be199da --- /dev/null +++ b/forms.py @@ -0,0 +1,34 @@ +# 导入日志模块,用于记录日志信息 +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 \ No newline at end of file