Цикл for во Flask
В первом декораторе открываю файл, во втором нужно из импортированной библиотеки Faker рандомно выбить имя и мейл и вывести их 10 раз. Подскажите что не так делаю в цикле for
from flask import Flask
from faker import Faker
app = Flask(__name__)
fake = Faker()
@app.route('/')
def read_file():
f = open('/Users/dev/Desktop/new_project/requiremets.txt','r')
f.read()
return f.read()
@app.route('/user')
def user():
name = fake.name()
email = fake.email()
single = {'name':name, 'email':email}
for _ in range(10):
return single
if __name__ == '__main__':
app.run(debug=True)
Ответы (2 шт):
Автор решения: RN2208
→ Ссылка
Нельзя использовать return внутри функции так как она завершиться на первой же итерации. Так же значением для возврата должна быть строка. Кажется то что вы пытаетесь сделать можно написать без использования цикла.
return (str(single) + '<br>') * 10
Или все же использовать, но уже в шаблонах
./templates/main.html
{% for i in range(10) %}
{{ single }}
{% endfor %}
return render_template('main.html', single=single)
Автор решения: DeF-F
→ Ссылка
Решил, спасибо!
@app.route('/user')
def user():
result = []
for _ in range(10):
name = fake.name()
email = fake.email()
result.append({'name': name, 'email': email})
return str(result)