Как запустить скрипт Python на одной странице HTML и распечатать результаты на другой? - PullRequest
1 голос
/ 24 февраля 2020

У меня есть приложение Flask, в котором я хочу нажать кнопку на главной странице, которая будет

  1. При нажатии запустите скрипт Python и перейдите к моим результатам. html. (что я и сделал)

  2. Автозаполнение определенных полей на этой странице результатами скрипта 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...