當我訪問我的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