2017-03-08 73 views
2

我正在學習python中的第一步。我正在使用Flask框架,並正在編寫一個基本的應用程序,它將從html表單輸入並將其存儲在表MySql數據庫中。因此,這是我做從HTML表單獲取輸入並通過Flask將其存儲在mysql中

HTML表單sample.html:

<!DOCTYPE html> 
    <html> 
    <body> 

    <form method="POST"> 
    First name: <input type="text" name="fname"><br> 
    Last name: <input type="text" name="lname"><br> 
    Email Id : <input type="text" name="emailid"><br> 
<input type="submit" value="Submit"> 
</form> 

</body> 
</html> 

的Python腳本現在用的就是:

from flask import Flask,request,render_template 
from flaskext.mysql import MySQL 
mysql=MySQL() 

app=Flask(__name__) 
app.config['MYSQL_DATABASE_USER']='root' 
app.config['MYSQL_DATABASE_PASSWORD']='root' 
app.config['MYSQL_DATABASE_DB']='names' 
app.config['MYSQL_DATABASE_host']='127.0.0.1:3306' 
mysql.init_app(app) 

@app.route('/',methods=['GET','POST']) 
def get_data(): 
return render_template("sample.html") 
    if request.method=='POST': 
    first_name=request.form['fname'] 
    last_name=request.form['lname'] 
    emailid=request.form['emailid'] 
    connection = mysql.get_db() 
    cursor = connection.cursor() 
query="INSERT INTO names_tbl(f_name,l_name,e_id) VALUES(%s,%s,%s)" 
cursor.execute(query,(first_name,last_name,email_id)) 
    connection.commit() 
    return "nothing fucked" 
else: 
    return("something fucked up") 

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

顯然,這行不通。我想知道的是1.我是否正確地從html傳遞變量? 2)如果想在成功插入的屏幕上打印「存儲在數據庫中成功」,我該怎麼做? –

+1

你應該做的第一件事就是縮進你的代碼 – e4c5

回答

0
@app.route('/',methods=['GET','POST']) 
def get_data(): 
    if request.method=='POST': 
    first_name=request.form['fname'] 
    last_name=request.form['lname'] 
    emailid=request.form['emailid'] 
    connection = mysql.get_db() 
    cursor = connection.cursor() 
    query="INSERT INTO names_tbl(f_name,l_name,e_id) VALUES(%s,%s,%s)" 
    cursor.execute(query,(first_name,last_name,email_id)) 
    connection.commit() 

return render_template("sample.html") 

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

db = MySQLdb.connect(
    host = 'localhost', 
    user = 'root', 
    passwd = 'pw', 
    db = 'mydB', 
    charset='utf8' 
    ) 

@app.route('/',methods=['GET','POST']) 
def get_data(): 
return render_template("sample.html") 
    if request.method=='POST': 
    first_name=request.form['fname'] 
    last_name=request.form['lname'] 
    emailid=request.form['emailid'] 
    cursor = db.cursor() 
    cursor.execute(""" 
    INSERT INTO names_tbl(f_name,l_name,e_id) \ 
    VALUES (%s,%s,%s) """, (first_name,last_name,email_id)) 
    cursor.close() 
    return "nothing fucked" 

if __name__=='__main__': 
app.run(debug=True) 
相關問題