当我访问我的python烧瓶网站并转到myurl.com/newuser时,我得到必要的html页面返回。这个页面有一个提交按钮,它应该按下时将信息传递给服务器。但是当它被按下时,它会将我重定向到网站的'索引'方法,并且信息不会传递到数据库?我不明白这一点,这里是我的代码:(SQL信息错过了明显)非常奇怪的python烧瓶行为
from flask import Flask, redirect, render_template, request, url_for
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["DEBUG"] = True
SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://{username}:{password}@{hostname}/{databasename}".format(
username="",
password="",
hostname="",
databasename="",
)
app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI
app.config["SQLALCHEMY_POOL_RECYCLE"] = 299
db = SQLAlchemy(app)
class Users(db.Model):
__tablename__ = "userstable"
userid = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(4096))
password = db.Column(db.String(4096))
@app.route("/", methods=["GET", "POST"])
def index():
return render_template("index.html")
@app.route("/newuser", methods=["GET", "POST"])
def NewUser():
if request.method == "GET":
return render_template("NewUser.html")
usernameSet = Users(username=request.form["Username"])
passwordSet = Users(password=request.form["Password"])
db.session.add(usernameSet)
db.session.add(passwordSet)
db.session.commit()
return redirect(url_for('NewUser'))
NEWUSER模板:
<html>
<body>
<form action="." method="POST">
<input type="text" value="" name="Username">
<input type="text" value="" name="Password">
<input type="submit" value="Submit">
</form>
</body>
</html>
如果没有'NewUser.html'模板,我们无法开始调试。请把它做成[mcve];只是代码的一部分和模板一起再现问题。 –
你为什么要创建**两个**用户?一个用户被授予用户名,另一个用户被授予密码。 –
哦哎呀我该如何解决这个问题? – bob