免责声明:不觉得有必要对下面的代码进行分类,我只是在这里提供所有与问题相关的信息以防万一
我正在用django制作一个web应用程序,我想实现一个工作搜索栏。在做了一些研究之后,使用elasticsearch的haystack似乎是一个受欢迎的选择。我学习了一些教程,其中最让我受益匪浅的是:
http://nanvel.name/2013/07/django-haystack-example
我按照教程的整个过程,把所有的东西都连接到我的数据库和模型上,但是当我在搜索栏中输入内容时,它不会给出任何结果,即使输入的内容与数据库中的内容直接匹配。下面是我尝试实现所有这些的代码。在
型号:
class GameCard(models.Model):
title = models.CharField(max_length=250)
console = models.CharField(max_length=500)
genre = models.CharField(max_length=500)
coverArt = models.CharField(max_length=1000)
增加设置.py公司名称:
^{2}$添加到视图.py在
def GameCards(request):
form = GameCardSearchForm(request.GET)
GameCards = form.search()
return render_to_response('search/search.html', {'GameCards': GameCards})
游戏车_文本.txt文件:
{{ object.title }}
{{ object.coverArt }}
搜索_索引.py公司名称:
from django.utils import timezone
from haystack import indexes
from .models import GameCard
class GameCardIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
title = indexes.CharField(model_attr='title')
coverArt = indexes.CharField(model_attr='coverArt')
def get_model(self):
return GameCard
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.filter(timestamp__lte=timezone.now())
在搜索.html公司名称:
{% extends 'gamelobby/home.html' %}
{% block content %}
<form type="get" action=".">
<input type="text" name="q">
<button type="submit">Search</button>
</form>
{% for GameCard in GameCards %}
<h1>{{ GameCard.title }}</h1>
<p>
{{ GameCard.coverArt }}
</p>
{% endfor %}
{% endblock %}
在表单.py公司名称:
class GameCardSearchForm(SearchForm):
def no_query_found(self):
return self.searchqueryset.all()
我很确定我已经在这里涵盖了所有的基础,我不明白为什么没有结果显示在html页面上。顺便说一句,我当然有搜索.html连接到另一个主要的html文件和block标记,我只是认为它会占用太多的空间来包含该文件中的所有html,而且我不相信它与问题有关。不管怎样,如果任何人有任何提示或解决方案,请不要觉得有必要通过所有这些代码,我只是觉得这将是正确的,提供信息可能。谢谢!在
目前没有回答
相关问题 更多 >
编程相关推荐