Представления не возвращали объект HttpResponse.Вместо этого он вернулся - PullRequest
1 голос
/ 15 апреля 2019

Я реализую некоторый механизм поиска в своем приложении, пытаюсь получить запрос из ввода, найти его в базе данных (sqlite) и отобразить его в шаблон. Проблема в том, что я получаю ошибку:

.views не возвращает объект HttpResponse. Вместо этого он вернул None.

Логика похожа на:
1) создание функции, которая будет проверять данный запрос

def search_query(request,search,query):

    checking = check_in(query) #check if query is in DB

    if checking == False: #if not, get data from search api and save it
        search_querys = requests.get(search)
        json_search = search_querys.json()   
        for each in json_search['data']:    
            user_id = each['id']
            name = each['name']
            picture = each['picture']['data']['url']
            Profiles.objects.create(user_id=user_id, name=name, picture=picture)

        return render(request, 'FB_search/home.html') 

    else:   # <--assuming that here's the problem. For testing purpose, I'm writing query for which I know that they are in DB and I'd like to return in tamplet
        context = {
            'profiles': Profiles.objects.filter(Q(user_id__startswith=query) | Q(name__startswith=query))
        }       

        return render(request, 'FB_search/home.html', context)

2) вызов функции выше в моей конечной точке, такой как:

def api_search(request):
    if request.method == "GET":
       query = request.GET.get('q')
       search = 'some API with {query} inside it' 
       search_query(request,search,query)

Когда я пытаюсь вызвать функцию "поискового запроса", я получаю упомянутую ошибку. Любое предложение?

Спасибо.

1 Ответ

1 голос
/ 15 апреля 2019

Вы не возвращаете возвращаемое значение search_query, вы должны вернуть его:

def api_search(request):
    if request.method == "GET":
       query = request.GET.get('q')
       search = 'some API with {query} inside it' 
       return search_query(request,search,query)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...