Flask переменных до html - PullRequest
       5

Flask переменных до html

0 голосов
/ 10 марта 2020

Я новичок в flask. У меня есть скрипт python, который очищает данные от нескольких веб-сайтов. Он работает нормально, но я хочу представить результат на простой странице html, поэтому я начал смотреть на Flask. В моем сценарии у меня в основном есть этот фрагмент кода

#main.py
for shop in shops:
    print shop 
    service = get_services(shop)
    for s in service:
        print s

#scraper.py
shops = {
    'Shop Alpha':'https://www.shopalpha.com',
    'Shop Bravo': 'https://www.shopbravo.com',
    'Shop Charlie': 'https://www.shopcharlie.com'
    }

def get_services(shop):

    r = requests.get(shops[shop])
    soup = BeautifulSoup(r.text, "html.parser")
    service = service_scraper(shop, soup)
    # here I call my scraping methods
    return service

, который выдает этот вывод при запуске сценария:

Shop Alpha
Cars
Bikes

Shop Bravo
Boats

Shop Charlie
Helicopters
Planes
Tanks

Я пытался добавить этот фрагмент кода

app = Flask(__name__)

@app.route("/", methods=["GET"])
def index():
    return render_template('index.html',**locals())
app.run(debug=True)

Какой самый простой способ передачи переменных на страницу html? То, что я хотел бы, это использовать для l oop, но в html. Это возможно? Что мне нужно передать тогда?

Например, могу ли я передать переменные, чтобы иметь возможность использовать что-то подобное в html:

<body>
  {% for shop in shops %}
  <h4>{{ shop }}</h4>
  {% endfor %}
</body>

1 Ответ

0 голосов
/ 10 марта 2020

Вот как это сделать

app = Flask(__name__)

@app.route("/", methods=["GET"])
def index():
    # Get shops
    shops = get_shops()
    return render_template('index.html', shops = shops)
app.run(debug=True)

Попытайтесь сохранить удаленные данные в базе данных или файле, чтобы не сканировать URL-адреса каждый раз, когда вы загружаете index, а затем читать их в конечной точке index затем l oop через данные в index.html

<body>
  {% for shop in shops %}
  <h4>{{ shop }}</h4>
  {% endfor %}
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...