Il s'agit d'une tentative débutante d'insertion de données dans une table mysql à l'aide de flask. Je peux entrer des données dans le formulaire, mais cela n'introduit pas les données. J'utilise pythonanywhere, de sorte que le message d'erreur est pas clair ...Flacon Python insertion de données à partir du formulaire
Transactions.html:
<h1>Enter a Transaction</h1>
<form action="/transactions" method=post>
<dl>
<dt>Sale Item:
<dd><input type=text name="Item" required/>
<dt>Shack:
<dd><input type=text name="Shack" required/>
<dt>Reference:
<dd><input type=text name="Paym_Reference" required/>
<dt>Amount:
<dd><input type=text name="Amount" required/>
</dl)
<br>
<p><input type=submit value=Enter>
</form>
MySQL: transactions
+----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+----------------+
| trans_id | int(11) | NO | PRI | NULL | auto_increment |
| Item | varchar(20) | YES | | NULL | |
| Shack | varchar(10) | YES | | NULL | |
| Paym_Reference | varchar(20) | YES | | NULL | |
| Amount | int(10) | YES | | NULL | |
+----------------+-------------+------+-----+---------+----------------+
code:
import MySQLdb as my
conn = my.connect ('hello.mysql.pythonanywhere-services.com','hello','password','SIIL$Transactions')
c = conn.cursor()
@app.route('/add_data', methods=['GET', 'POST'])
def add_data():
Item= request.form('Item')
Shack= request.form('Shack')
Paym_Reference= request.form('Paym_Reference')
Amount= request.form('Amount')
c.execute("INSERT INTO transactions(Item, Shack, Paym_Reference, Amount) VALUES ('',%s,%s,%s,%s)")
conn.commit()
return 'Done'
@app.route('/transactions', methods=['GET', 'POST'])
def transactions():
add_data()
return render_template('Transactions.html')
Merci @Giles. J'ai suivi votre didacticiel et essayé d'utiliser SQLalchemy. Je suis presque là mais je suis coincé ici: 'http: // stackoverflow.com/questions/42579079/flask-post-data-to-table-using-sqlalchemy-mysql' – wazzahenry