У меня есть приложение Flask, в котором я хочу нажать кнопку на главной странице, которая будет
При нажатии запустите скрипт Python и перейдите к моим результатам. html. (что я и сделал)
Автозаполнение определенных полей на этой странице результатами скрипта python. (что мне нужно помочь)
Сценарий python (parser.py) может занять 30-40 минут, так как его работа заключается в запуске теста, который занимает около так долго, а затем обработать и захватить / проанализировать результаты. После этого пользователь заполняет некоторые другие поля, затем в базу данных отправляется форма с результатами. html.
Надеюсь, я ближе к своему ответу, чем думаю, но где / Как я могу ввести мой python в это и передать его в форму по результатам. html?
parser.py
import csv
import pandas as pd
import numpy as np
# Test data
body = pd.read_csv('path-to-test-data.csv', skiprows=11)
# Build dataframe of test info
frame = body['Frame Size']
loss = body['Loss Rate (Percent)']
speed = body['Tx Rate (L1) (Bit/s)']
grade = body['Result State']
lst = pd.concat([frame,loss,speed,grade], axis = 1)
selected_df = pd.DataFrame(data=lst)
selected_df.set_index('Frame Size')
# Select all 64b frame results
print(selected_df[np.isclose(selected_df['Frame Size'].values[:, None], [64],).any(axis=1)])
# Select all tests that fail
print(selected_df.loc[selected_df['Result State'] == 'FAIL'])
app.py:
import os
from flask import Flask, escape, request, redirect, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
@app.route('/results/')
def about():
return render_template('results.html')
index. html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OLT TESTER</title>
</head>
<body>
<div class="index">
Press This Button to Begin Testing
<button onclick=""></button>
</div>
</body>
</html>
results. html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Results</title>
</head>
<body>
<div class="results">
<a href="{{ url_for('home') }}">Initialize Test</a>
<form action="#.php" method="post">
Job Order: <input type="text" name="jobOrder"><br>
Serial Number: <input type="text" name="serialNo"><br>
Frame Size: <input type="text" name="jobOrder"><br> <!--Fill this field with Python output -->
Result State: <input type="text" name="serialNo"><br> <!--Fill this field with Python output -->
<input type="submit">
</form>
</div>
</body>
</html>