Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何通过基于类的视图添加搜索栏_Django_Python 3.x_Django Templates_Django Views_Searchbar - Fatal编程技术网

Django 如何通过基于类的视图添加搜索栏

Django 如何通过基于类的视图添加搜索栏,django,python-3.x,django-templates,django-views,searchbar,Django,Python 3.x,Django Templates,Django Views,Searchbar,我是django的新手,我正在尝试创建一个简单的[pastebin.com][1]克隆版本,该版本只有一个带有名称和内容的模型。我已经在我的根模板中创建了搜索栏。但实际的类视图是什么,只过滤名称并显示名称和内容的列表帕特宾评估项目 您需要创建一个视图来处理搜索行为。没有这样的通用视图,但创建起来很容易: class SearchView(TemplateView): template_name = 'search.html' def get(self, request, *a

我是django的新手,我正在尝试创建一个简单的[pastebin.com][1]克隆版本,该版本只有一个带有名称和内容的模型。我已经在我的根模板中创建了搜索栏。但实际的类视图是什么,只过滤名称并显示名称和内容的列表帕特宾评估项目


您需要创建一个视图来处理搜索行为。没有这样的通用视图,但创建起来很容易:

class SearchView(TemplateView):
    template_name = 'search.html'

    def get(self, request, *args, **kwargs):
        q = request.GET.get('q', '')
        self.results = Post.objects.filter(name__icontains=q)
        return super().get(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        return super().get_context_data(results=self.results, **kwargs)
将视图添加到
URL.py

url(r'^search/$', SearchView.as_view(), name='search')
并确保为搜索表单设置了正确的
操作
方法
属性:

<form method="GET" action="{% url 'pastebin_app:search' %}">


非常感谢您的帮助,效果非常好。我需要涵盖很多基础知识,你能帮助我如何在我的“search.html”中实现这个SearchView吗?很抱歉,我问了所有这些问题questions@ZeedTanue
结果
现在可在模板视图中使用。现在,您可以为result in results创建一个循环-
。然后可以在列表或表格中显示结果。
url(r'^search/$', SearchView.as_view(), name='search')
<form method="GET" action="{% url 'pastebin_app:search' %}">