ich an der DB zu verbinden versuchen, und einige Daten auf der Webseite zeigen, unten ist, was ich versuchte:Ausgabe in HTML Redirect-Kolben mit
import jaydebeapi
import jpype
import sys
from flask import Flask
from flask import request, render_template
app = Flask(__name__)
@app.route('/')
def my_form():
return render_template('Name.html')
@app.route('/', methods=['POST'])
def teradataconn():
classpath="/export/home/tdgssconfig.jar:/export/home/terajdbc4.jar"
Name = request.form['Name']
query="select top 1 Col1, Col2, Col3 from TABLE where Col2='Name' and Col3 is null order by Col1 desc"
jvm_path=jpype.getDefaultJVMPath()
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % classpath)
conn=jaydebeapi.connect('com.teradata.jdbc.TeraDriver', 'jdbc:teradata://HostName/DATABASE=DBNAME,USER=USER_NAME,PASSWORD=PassWord')
cursor=conn.cursor()
cursor.execute(query)
rows=cursor.fetchall()
conn.close()
return render_template('output.html',rows=rows)
if __name__ == '__main__':
app.run
Im Folgenden wird die Seite (Name.html) Namen eingeben die gegen DB verarbeitet werden.
<!DOCTYPE html>
<html lang="en">
<body>
<h1>Enter JC Name</h1>
<form action="." method="POST">
<input type="text" name="Name">
<input type="submit">
</form>
</body>
</html>
Nachfolgend finden Sie zur Anzeige Ausgang (Output.html):
<!DOCTYPE html>
<html lang="en">
<body>
<p>{{ rows }}<p>
</body>
</html>
Nachdem ich den Namen auf der ersten Seite eingeben, i unten Ausganges. Bitte schlagen Sie vor, was getan werden muss, um es zu beheben.
Bad Request
The browser (or proxy) sent a request that this server could not understand.
I unter Leitung entfernt und den Wert fest einprogrammiert und ich war das Ergebnis bekommen, so scheint es, Wert nicht übergeben zu werden, irgendwelche Vorschläge bitte.
Name = request.form['Name']
Ich glaube nicht, dass Sie zwei Routen die gleiche haben können wie das .... –
@JoranBeasley Ich möchte Ausgabe auf HTML zeigen, wie kann ich das erreichen? – ankitpandey
Bevor Sie versuchen, auf 'request.form ['Name']' 'zuzugreifen, versuchen Sie 'request.form' zu drucken. Lassen Sie uns wissen, was in der Konsole oder Fehlerprotokolle angezeigt wird. –