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

时间:2018-10-07 11:35:05

标签: django python-3.x django-templates django-views searchbar

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

Patebin评估项目

  <input class="searchfield" id="searchbox" name="q" type="text" placeholder="Search"/>

  <input class="searchbutton" type="submit" value="Search"/>


</form>`

正如我已经说过的,我对django很陌生。这是我的模特

from django.db import models
from django.urls import reverse

# Create your models here.
class Post(models.Model):
    name = models.CharField(db_index=True, max_length=300, blank=False)
    content = models.TextField()
    generated_url = models.CharField(db_index=True, max_length=10, blank=False)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse("pastebin_app:detail",kwargs={'pk':self.pk})

1 个答案:

答案 0 :(得分:2)

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

aws configservice list-discovered-resources

将视图添加到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)

urls.py

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

method