【问题标题】:Intergrating haystack into my application将 haystack 集成到我的应用程序中
【发布时间】:2013-05-03 18:32:38
【问题描述】:

我为展示产品编写了一个自定义平台(例如没有购物车和运输的电子商务)

无论如何,我已经在 127.0.0.1/myapp/search 启动并运行了 haystack,我可以执行搜索,结果完美返回,一切正常。

这是我的工作网址

http://dpaste.com/698413/

目前我的搜索文件重定向到一个空的 base.html(带有内容块)

http://dpaste.com/698414/

现在您可以通过我的 urls.py 文件看到,我的产品是通过自定义 url + 视图条目加载的。

这会将我重定向到一个名为 detail.html 的模板,其中包含(您猜对了)根据已加载的产品的详细信息。

现在,当我尝试将我的 search.html 文件包含到我的 detail.html(与我的 /search 条目相同的文件)中时,代码无法正确呈现,它显示了表单方法,但没有其他内容。

我要问的是,如何让我的 haystack 搜索代码加载到我的 detail.html 页面中。

谢谢。

【问题讨论】:

  • 我不知道你想做什么。 “将我的 search.html 文件包含到我的 detail.html 中”是什么意思?您想要该页面上的搜索表单、实际搜索结果还是完全不同的内容?
  • 将文件包含在我的模板中。

标签: django django-haystack


【解决方案1】:

猜测form 在渲染details.html 模板时未设置上下文变量。覆盖 DetailView 并为表单设置额外的上下文数据应该使表单出现在页面上,如下所示:

from haystack.forms import SearchForm

#in overriden DetailView
def get_context_data(self, **kwargs):
    #call super
    ctx['form'] = SearchForm() 
    return ctx

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 2023-03-18
  • 2012-09-07
相关资源
最近更新 更多