Выпадающий список в моей форме html возвращает только нулевые значения в базу данных mysql - PullRequest
0 голосов
/ 29 мая 2020

Остальные части формы работают отлично. Только оценка возвращает нулевые значения.

это мой html код:

<body>
    <form action="/out" method="post">
        <label for="grade">Grade:&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&ensp;&nbsp;&emsp;</label>
        <select class="form-control" name="grade" id="grade" required>
          <option value="N121" selected>N121</option>
          <option value="N134">N134</option>
          <option value="N220">N220</option>
          <option value="N234">N234</option>
          <option value="N326">N326</option>
          <option value="N330">N330</option>
          <option value="N339">N339</option>
          <option value="N375">N375</option>
          <option value="BC2056">BC2056</option>
          <option value="BC2109">BC2109</option>
          <option value="JETCARB300">JETCARB300</option>
        </select><br>
        <label for="TPD">Production Rating (TPD):&emsp;</label>
        <input type="number" name="TPD" step="0.001" placeholder="0.000" required><br>
        <label for="plant_load">Plant Load:&emsp;&emsp;&emsp;&emsp;&emsp;&ensp;&nbsp;&emsp;</label>
        <input type="number" name="plant_load" step="0.001" placeholder="0.000" required><br>
        <button type="submit" name="submit">submit</button>        
   </form>
</body>

python код:

from flask import Flask, render_template, request
import os
import mysql.connector
from flaskext.mysql import MySQL
mysql=MySQL()
app=Flask(__name__,template_folder='templates1')
app.config['MYSQL_DATABASE_USER'] ="root"
app.config['MYSQL_DATABASE_PASSWORD'] = ""
app.config['MYSQL_DATABASE_DB'] ="db"
app.config['MYSQL_DATABASE_HOST'] = "127.0.0.1"
mysql.init_app(app)
con=mysql.connect()
cursor=con.cursor()
@app.route("/")
def input():
  return render_template("power_advisor1.html")
@app.route("/out", methods=['POST'])
def output():
    grade= request.form.get("grade")
    TPD= request.form.get("TPD")
    plant_load= request.form.get("plant_load")
    cursor.execute("INSERT into input(grade,TPD,plant_load) values(%s,%s,%s)" , (grade, TPD, plant_load))
    con.commit()
    return render_template("output.html")

Проблема, скорее всего, в html часть

помощь будет оценена. Спасибо!

это ошибка, которую я получаю, когда использую request.form вместо request.form.get

1 Ответ

0 голосов
/ 05 июня 2020

Я написал весь код снова и запустил локально, и он отлично работает для меня. Однако у меня не было схемы базы данных, поэтому я прокомментировал этот код. также убедитесь, что у вас есть app.run(debug=True) или нет.

@app.route("/out", methods=['POST'])
def output():
    grade= request.form["grade"]
    TPD= request.form["TPD"]
    plant_load= request.form["plant_load"]
    txt1 = "{grade} {TPD} {plant_load}".format(grade = grade, TPD = TPD, plant_load=plant_load)

    # cursor.execute("INSERT into input(grade,TPD,plant_load) values(%s,%s,%s)" , (grade, TPD, plant_load))
    # con.commit()
    return txt1
<form action="{{ url_for('output') }}" method="post">
        <label for="grade">Grade:&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&ensp;&nbsp;&emsp;</label>
        <select class="form-control" name="grade" id="grade" required>
            <option value="N121" selected>N121</option>
            <option value="N134">N134</option>
            <option value="N220">N220</option>
            <option value="N234">N234</option>
            <option value="N326">N326</option>
            <option value="N330">N330</option>
            <option value="N339">N339</option>
            <option value="N375">N375</option>
            <option value="BC2056">BC2056</option>
            <option value="BC2109">BC2109</option>
            <option value="JETCARB300">JETCARB300</option>
        </select><br>
        <label for="TPD">Production Rating (TPD):&emsp;</label>
        <input type="number" name="TPD" step="0.001" placeholder="0.000" required><br>
        <label for="plant_load">Plant Load:&emsp;&emsp;&emsp;&emsp;&emsp;&ensp;&nbsp;&emsp;</label>
        <input type="number" name="plant_load" step="0.001" placeholder="0.000" required><br>
        <button type="submit" name="submit">submit</button>        
    </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...