форма исчезает после нажатия на кнопку отправить на HTML - PullRequest
0 голосов
/ 12 февраля 2020

Я делаю этот проект, который требует от меня отправить несколько форм и затем вернуть значение. Однако, когда я нажимаю кнопку отправки, форма исчезает, как будто страница обновилась. Может кто-нибудь мне помочь? код находится в HTML

<div id="b2" class="containerTab" style="display:none;background:white">
  <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span>
 <form method="POST">
  <span style="float: left"><b>BTC amt >=: </b></span><center><b> Depth: <input type="range" name="rangeInput" min="0" max="20" onchange="updateTextInput2(this.value);"><input style="font-size:15px;" type="text" id="textInput2" value=""></b></center>
  <input style="font-size:15px;" type="text" name=BTC amt><br>
  <b>And <= :</b><br>
  <input style="font-size:15px;" type="text" name="mdA">
   &emsp;
  <input style="font-size:20px;" name="BTCamt"  type="submit" value="Submit"><br><br><br><br>
</form>
  <div>
  {{outBTC}}
  </div>
</div>

Это функция, которую я пытаюсь запустить в этом HTML

из flask import Flask, render_template, url_for, приложение запроса = Flask ( имя )

@app.route("/")
def home():
    return render_template('home.html')

@app.route("/", methods=['POST'])


def index():
    # if form.validate_on_submit():
    if 'transactionid' in request.form:
        transactionaddr = request.form['transactionid']
        newresult = runCypher(transactionaddr)
        return render_template('home.html', outputresult=newresult)
    elif 'BTCamt' in request.form:
        transactionaddr = request.form['BTCamt']
        newresult = runCypher(transactionaddr)
        return render_template('home.html', outBTC=newresult)

def runCypher(transactionaddr):
    from neo4j import GraphDatabase
    uri = "bolt://localhost:7687"
    user = "neo4j"
    password = "123"
    graphdb = GraphDatabase.driver(uri, auth=(user, password))
    session = graphdb.session()
    q1 = 'MATCH g=(n:out {addr: "'+transactionaddr+'"})-[*..3]-(m) RETURN g'
    nodes = session.run(q1)
    out = ""
    for node in nodes:
        out += str(node)

    return out


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

1 Ответ

0 голосов
/ 12 февраля 2020

Маршрут / был объявлен дважды. Это должно указать вам правильное направление ..

@app.route("/", methods=['GET','POST'])
def index():
    # if form.validate_on_submit():
    if request.method == 'POST':
      if 'transactionid' in request.form:
          transactionaddr = request.form['transactionid']
          newresult = runCypher(transactionaddr)
          return render_template('home.html', outputresult=newresult)
      elif 'BTCamt' in request.form:
          transactionaddr = request.form['BTCamt']
          newresult = runCypher(transactionaddr)
          return render_template('home.html', outBTC=newresult)

    return render_template('home.html')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...