根据这里的文档,我试着让haystack使用基于类的通用视图.我可以从shell中的SearchQuerySet获得结果,因此模型正在编制索引.但我无法让视图在页面上返回结果.
使用通用视图的主要原因是我希望稍后使用更多SQS逻辑进行扩展.
我可能错过了一些明显的东西......
from haystack.query import SearchQuerySet
from haystack.generic_views import SearchView
from .forms import ProviderSearchForm
from .models import Provider
class ProviderSearchView(SearchView):
template_name = 'search/provider_search.html'
form_class = ProviderSearchForm
def get_context_data(self, *args, **kwargs):
""" Extends context to include data for services."""
context = super(ProviderSearchView, self).get_context_data(*args, **kwargs)
context['body_attr'] = 'id="provider-search"'
return context
def get_queryset(self):
queryset = super(ProviderSearchView, self).get_queryset()
return queryset.filter(is_active=True)
Run Code Online (Sandbox Code Playgroud)
from haystack import indexes
from .models import Provider
class ProviderIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
title = indexes.CharField(model_attr='name')
created …Run Code Online (Sandbox Code Playgroud) 尝试从官方php:7.1-fpm-alpine镜像构建,在我的 Dockerfile 中使用以下摘录:
FROM php:7.1-fpm-alpine
RUN set -ex \
apk add --no-cache --virtual .build-deps \
freetype-dev \
libjpeg-turbo-dev \
libpng-dev \
\
&& docker-php-ext-configure gd \
--with-freetype-dir=/usr \
--with-png-dir=/usr \
--with-jpeg-dir=/usr \
&& docker-php-ext-install gd \
&& apk del .build-deps
Run Code Online (Sandbox Code Playgroud)
尝试使用 构建它时docker build,GD 失败./configure并出现以下错误:
configure: error: jpeglib.h not found
Run Code Online (Sandbox Code Playgroud)
我可以确认它jpeglib.h存在并且正是我认为它应该在的地方(实际上,它在 Debian 变体中的确切位置):
$ docker run -it --rm php:7.1-fpm-alpine /bin/sh
>$ apk add --no-cache libjpeg-turbo-dev \
&& find /usr -type f …Run Code Online (Sandbox Code Playgroud)