使用Python将数据从Html表单插入MySQL数据库
我有一张这样的表格:使用Python将数据从Html表单插入MySQL数据库,python,mysql,flask,Python,Mysql,Flask,我有一张这样的表格: <form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST"> <label> Name <input type="text" id="name" name=&quo
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<label>
Name
<input type="text" id="name" name="name" required placeholder="">
</label>
<label>
Email-ID
<input type="email" id="email" name="email"pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"; required placeholder="">
</label>
<label>
Password
<input type="password" id="password1" name = password1 required placeholder="">
</label>
<label>
Confirm Password
<input type="password" id="password2" name = password2 required placeholder="">
</label>
<label>
Date of Birth:
<input type="date" id="birthday" name="birthday" required placeholder="">
</label>
<button style="background-color:#3e3939";type="submit"; class="submit">Sign Up</button>
</form>
from flask import Flask
from flaskext.mysql import MySQL
mysql = MySQL()
app=Flask(__name__)
app.config['MYSQL_DATABASE_USER'] ="root"
app.config['MYSQL_DATABASE_PASSWORD'] = "password"
app.config['MYSQL_DATABASE_DB'] ="db_name"
app.config['MYSQL_DATABASE_HOST'] = "localhost"
mysql.init_app(app)
con=mysql.connect()
cursor=con.cursor()
@app.route('/register',methods=['POST'])
def register():
name=request.form['name']
email=request.form['email']
password2=request.form['password2']
birthday=request.form['birthday']
cursor.execute("insert into table_name values (%s,%s,%s,%s)", (name,email,password2,birthday))
con.commit()
return "successfully registered"
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<form onSubmit = "return checkPassword(this)" action="http://127.0.0.1:5000/register" method="POST">
现在我想将html表单中的输入插入mysql数据库,当我执行此操作时,它只显示浏览器上的代码,我已经浪费了10多天的时间来寻找解决方案,但没有得到任何结果
请帮帮我!
请回答!
提前感谢:-)
编辑:
当我将“/register”添加为操作时,我得到了这样的结果
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<label>
Name
<input type="text" id="name" name="name" required placeholder="">
</label>
<label>
Email-ID
<input type="email" id="email" name="email"pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"; required placeholder="">
</label>
<label>
Password
<input type="password" id="password1" name = password1 required placeholder="">
</label>
<label>
Confirm Password
<input type="password" id="password2" name = password2 required placeholder="">
</label>
<label>
Date of Birth:
<input type="date" id="birthday" name="birthday" required placeholder="">
</label>
<button style="background-color:#3e3939";type="submit"; class="submit">Sign Up</button>
</form>
from flask import Flask
from flaskext.mysql import MySQL
mysql = MySQL()
app=Flask(__name__)
app.config['MYSQL_DATABASE_USER'] ="root"
app.config['MYSQL_DATABASE_PASSWORD'] = "password"
app.config['MYSQL_DATABASE_DB'] ="db_name"
app.config['MYSQL_DATABASE_HOST'] = "localhost"
mysql.init_app(app)
con=mysql.connect()
cursor=con.cursor()
@app.route('/register',methods=['POST'])
def register():
name=request.form['name']
email=request.form['email']
password2=request.form['password2']
birthday=request.form['birthday']
cursor.execute("insert into table_name values (%s,%s,%s,%s)", (name,email,password2,birthday))
con.commit()
return "successfully registered"
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<form onSubmit = "return checkPassword(this)" action="http://127.0.0.1:5000/register" method="POST">
(请注意,如果您使用的是生产WSGI服务器,则会有所不同,但每次只执行一个步骤)。
当应用程序运行时,它会告诉你它正在监听的URL,例如:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
使用此URL作为HTML帖子URL的基础,如下所示:
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<label>
Name
<input type="text" id="name" name="name" required placeholder="">
</label>
<label>
Email-ID
<input type="email" id="email" name="email"pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"; required placeholder="">
</label>
<label>
Password
<input type="password" id="password1" name = password1 required placeholder="">
</label>
<label>
Confirm Password
<input type="password" id="password2" name = password2 required placeholder="">
</label>
<label>
Date of Birth:
<input type="date" id="birthday" name="birthday" required placeholder="">
</label>
<button style="background-color:#3e3939";type="submit"; class="submit">Sign Up</button>
</form>
from flask import Flask
from flaskext.mysql import MySQL
mysql = MySQL()
app=Flask(__name__)
app.config['MYSQL_DATABASE_USER'] ="root"
app.config['MYSQL_DATABASE_PASSWORD'] = "password"
app.config['MYSQL_DATABASE_DB'] ="db_name"
app.config['MYSQL_DATABASE_HOST'] = "localhost"
mysql.init_app(app)
con=mysql.connect()
cursor=con.cursor()
@app.route('/register',methods=['POST'])
def register():
name=request.form['name']
email=request.form['email']
password2=request.form['password2']
birthday=request.form['birthday']
cursor.execute("insert into table_name values (%s,%s,%s,%s)", (name,email,password2,birthday))
con.commit()
return "successfully registered"
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<form onSubmit = "return checkPassword(this)" action="http://127.0.0.1:5000/register" method="POST">
正确设置操作action=“C:\Users\Saksham\Desktop\Connection\Connection.py”
这只是文件的路径。当您通过@app.route('/register',methods=['POST'])
设置路由时,将其设置为action=“/register”
,但它将如何连接到python文件?您编写@app.route('/register',methods=['POST'])
是有原因的。。。它基本上意味着任何类似于/register
(域名后)的url都将路由到此功能…只需使用相对url而不是指定域,即操作=“/register”
您的浏览器将自动知道将请求发送到哪个域等。如果您只使用相对url,您的浏览器可能不知道Flask应用程序正在侦听的端口,因为HTML似乎位于不同的上下文中-这就是我指定完整URL的原因:-)