Как разместить результат в текстовом поле, которое находится на той же странице? - PullRequest
0 голосов
/ 26 мая 2019

я получаю входное значение из левого текстового поля и выполняю операцию.Результат, который я получу, будет напечатан только на терминале.Итак, результат будет напечатан в правом текстовом поле на той же странице.Я новичок в фляге / HTML.Я могу сделать это на Tkinter.Помогите мне, как этого добиться.

Я включил написанный мной код, вы также можете запустить код и посмотреть, как выглядят страница и результаты и что я пытаюсь получить.

from flask import Flask, render_template, request, flash
from flask_wtf import Form
from wtforms import RadioField, SubmitField, StringField, TextAreaField
import os, re

app = Flask(__name__)
app.config.from_object(__name__)
app.secret_key = 'password'

def print_1():
     form=SimpleForm()
     return str(form.content.data)
     ##inputdata1 = form.content.data

def buffer_data():
    var1 = print_1()
    with open("Bufferfile.txt", 'w', encoding='utf-8') as infile:
        for line in var1:
            textdata1 = infile.write(line.strip('\n'))
            #print(textdata1)

def ping_1():
    form = SimpleForm()
    var2 = buffer_data()
    with open("Bufferfile.txt", 'r', encoding='utf-8') as infile1:
        for row in infile1.read().split():
            print(row)
            match1 = re.search("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:/\d{1,2}|)", row)
            if match1:
                ip = match1.group(0)
                x = os.system(form.example1.data + ip)
                if x == 0:
                    return (row, "Active")
                    print(row, "Active" + "\n")
                else:
                    print(row, "Inactive" + "\n")
    print("Read!")

class SimpleForm(Form):
    example1 = RadioField('Label', choices=[('ping -n 1 ', 'Ping'), ('nslookup ', 'DNSResolve')])
    content = TextAreaField('content')
    content1 = TextAreaField('content1')

@app.route('/', methods=['post', 'get'])
def hello_world():
    form = SimpleForm()
    if form.validate_on_submit():
        ping_1()
    else:
        print(form.errors)
    return render_template('form.html', form=form)


if __name__ == '__main__':
    app.run(debug=True)

и ниже мой код wtforms для html:

<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
<div class="container">
    <form method="post" action="">
        {{ form.hidden_tag() }}
        {{ form.example1 }}
        <div class="text_field">
            {{ form.content(class="textarea") }}
            {{ form.content1(class="textarea") }}
            <input type="submit" , value="Submit">
        </div>
    </form>
</div>

! 1

...