Это то, что я пробовал до сих пор. Он принимает данные из API, а затем вводит в базу данных ut c записи и что-то, называемое значениями. Мои данные находятся в моей базе данных, но у меня возникают проблемы с доступом к ним через flask и SQL -алхимию. На данный момент я либо получаю сообщение об ошибке рекурсии, либо не могу распечатать запросы.
APP = Flask(__name__)
API = OpenAQ()
status, body = API.measurements(city='Los Angeles', parameter='pm25')
list1 = []
list2 = []
for x in range(1, 50):
list1.append(body['results'][x]['date']['utc'])
list2.append(body['results'][x]['value'])
APP.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite3'
DB = SQLAlchemy(APP)
class Record(DB.Model):
id = DB.Column(DB.Integer, primary_key=True)
datetime = DB.Column(DB.String(25))
value = DB.Column(DB.Float, nullable=False)
def __repr__(self):
utc_records = self.Record.query.all()
return utc_records
@APP.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
model.save()
else:
return render_template('template.html')
@APP.route('/')
def root():
condition = (Record.value >= 10)
records = Record.query.filter(condition).all()
print(records)
return records
@APP.route('/refresh', methods=['GET', 'POST'])
def refresh():
DB.drop_all()
DB.create_all()
for x in range(1, 49):
utc = Record(datetime = list1[x], value = list2[x])
DB.session.add(utc)
DB.session.commit()
return 'Data refreshed!'