Странная проблема для проекта Django, когда он сделан онлайн: разбиение на страницы не работает, а иногда приводит к тому, что страница 404 не найдена - PullRequest
0 голосов
/ 03 июня 2019

Я сделал поисковый сайт по Django иasticsearch.

Он отлично работает в локальной среде, затем я помещаю его на сервер Ubuntu и подключаю к сети с помощью gunicorn и ngnix.Все хорошо, кроме нумерации страниц:

Первая страница хороша, но когда мне требуется следующая страница, иногда она отвечает, что страница 404 не найдена.Однако, когда я обновляю его, иногда он отображает правильные вещи.Кроме того, иногда это дает мне страницу ответа, но некоторое содержимое страницы пусто.

Поскольку я хочу получить ранг для возвращаемых элементов, я делаю это для быстрой подкачки страниц, не знаюесли это имеет значение:


    def get_context(self):

        global previous_results

        if not self.request.GET.get('page'):
            self.init_provterms()
            pool = ThreadPool(8)
            pool.map(self.init_rank, range(1, 8))
            pool.close()
            pool.join()
            self.results = sorted(self.results, key=lambda result: result.object.Rank, reverse=True)
            previous_results = self.results

        elif self.request.GET.get('study_method'):
            self.results = previous_results
            pool = ThreadPool(8)
            pool.map(self.init_rank, range(1, 8))
            pool.close()
            pool.join()
            self.results = sorted(self.results, key=lambda result: result.object.Rank, reverse=True)
            previous_results = self.results
        else:
            self.results = previous_results

        (paginator, page) = self.build_page()

        if page.end_index() - page.number < 10:
            page_nums = range(page.number, page.end_index())
        else:
            page_nums = range(page.number, page.number + 10)

        page.page_nums = page_nums

        save_query_form = SaveQueryForm(self.request.POST or None, initial={'Query_to_save': " ".join(self.request.GET.get('q', ''))})

        saved_searches_list = saved_searches(self.request.user)

        context = {
            'suggestions': list(sug),
            'query': self.query,
            'form': self.form,
            'page': page,
            'paginator': paginator,
            'suggestion': None,
            'weight': weight,
            'save_form': save_query_form,
            'saved_searches': saved_searches_list.items()
        }

        if hasattr(self.results, 'query') and self.results.query.backend.include_spelling:
            context['suggestion'] = self.form.get_suggestion()
        context.update(self.extra_context())

        return context
...