API Flask и Clarifai не работают при вводе поискового запроса или URL-адреса изображения

#python #python-2.7 #flask #clarifai

#python #python-2.7 #flask #clarifai

Вопрос:

Я только что закончил это короткое руководство на YouTube по API Clarifai и Flask, но мое веб-приложение не работает, когда я пытаюсь ввести результаты поиска в любом месте ввода на http://localhost:5000 / поскольку после ввода моего поискового запроса или URL-адреса изображения ничего не отображается. То есть index.html отображается, но, например, когда я пытаюсь ввести «животное» в первый ввод и нажимаю кнопку «поиск», ничего не происходит.

Ниже приведена обратная трассировка, сам код и моя структура каталогов. Любая помощь будет очень признательна.

Трассировка

 /usr/local/bin/python3.8 /Users/lyons/Desktop/testing.py
 * Serving Flask app "testing" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL C to quit)
127.0.0.1 - - [25/Sep/2020 11:45:03] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [25/Sep/2020 11:45:10] "POST / HTTP/1.1" 200 -

  

testing.py

 from clarifai.rest import ClarifaiApp
from flask import Flask, request, render_template
clarifaiKEY = 'REDACTEDFORPRIVACY'

myAI = ClarifaiApp(api_key=clarifaiKEY)
app = Flask(__name__)

@app.route('/')
def index():
    return render_template('/index.html', len=0)

@app.route('/', methods=['POST'])
def search():
    if request.form['searchByConcept']:
        searchTerm = request.form['searchByConcept']
        searchResults = myAI.inputs.search_by_predicted_concepts(concept=searchTerm)
        return render_template('/index.html', len=len(searchResults), searchResults=searchResults)
    elif request.form['searchByImage']:
        refImage = request.form['searchByImage']
        searchResults = myAI.inputs.search_by_image(url=refImage)
        return render_template('/index.html', len=len(searchResults), searchResults=searchResults)

if __name__ == '__main__':
    app.run(host='0.0.0.0')
  

index.html

 <h1>Can I help you find something?</h1>

<form action="." method="post">
    <h2>Search By Concept</h2>
        <input type="text" name="searchByConcept">
        <input type="submit" name="searchByConcept" value="Search">
    <h2>Search By Image</h2>
        <input type="text" name="searchByImage" >
        <input type="submit" name="searchByImage" value="Search">
</form>

{%for i in range(0,len)%}
<li><img src="{{searchResults[i].url}}" alt=""></li>
{%endfor%}
  

Моя структура каталогов следующая

 /testing.py
/templates
    /index.html
  

Ответ №1:

Есть ли у вас входные данные (изображения), вставленные в приложение Clarifai, которое вы используете?