Flask 应用程序 - 删除功能不起作用
Flask application - delete function isn't working
我正在构建一个简单的 flask 应用程序(CRUD 应用程序)
到目前为止,我已经设法从 HTML 页面获取输入数据,将其保存到 SQLite 数据库并将其呈现回页面。
现在我想渲染一个删除按钮,我可以点击按钮删除数据,我写了这样的代码,当我点击按钮时没有看到错误,但也没有删除任何东西。
任何人都可以指出任何错误或错误吗?
@app.route('/users', methods=["GET", "POST"])
def users():
if request.form.get("delete"):
user_db = Users.query.filter_by(user_id=request.form.get("user_id")).first()
db.session.delete(user_db)
db.session.commit()
return redirect("user.html")
if request.form:
user_db = Users(user_name = request.form.get("user_name"),
age = request.form.get("age"),
gender=request.form.get("gender"),
activeness=request.form.get("activeness")
)
db.session.add(user_db)
db.session.commit()
user_data = Users.query.all()
return render_template("users.html", user_data = user_data)
<table>
<tr>
<th>User ID</th>
<th>User name</th>
<th>Age</th>
<th>Gender</th>
<th>Activeness<th>
</tr>
{% for i in user_data %}
<tr>
<td>{{ i.user_id }}</td>
<td>{{ i.user_name }}</td>
<td>{{ i.age }}</td>
<td>{{ i.gender }}</td>
<td>{{ i.activeness }}</td>
<td><form method="POST" action="./users">
<input type="hidden" value="{{ i.user_id }}" name="user_id">
<input type="submit" value="Delete">
</form></td>
</tr>
{% endfor %}
</table>
啊哈...!
我通过为删除按钮编写另一个路由来修复代码
@app.route('/users', methods=["GET", "POST"])
def users():
if request.form:
user_db = Users(user_name = request.form.get("user_name"),
age = request.form.get("age"),
gender=request.form.get("gender"),
activeness=request.form.get("activeness")
)
db.session.add(user_db)
db.session.commit()
user_data = Users.query.all()
return render_template("users.html", user_data = user_data)
@app.route('/delete_users', methods=["POST"])
def delete_user():
if request.form:
user_db = Users.query.filter_by(user_id=request.form.get("user_id")).first()
db.session.delete(user_db)
db.session.commit()
return redirect("/users")
我正在构建一个简单的 flask 应用程序(CRUD 应用程序)
到目前为止,我已经设法从 HTML 页面获取输入数据,将其保存到 SQLite 数据库并将其呈现回页面。
现在我想渲染一个删除按钮,我可以点击按钮删除数据,我写了这样的代码,当我点击按钮时没有看到错误,但也没有删除任何东西。
任何人都可以指出任何错误或错误吗?
@app.route('/users', methods=["GET", "POST"])
def users():
if request.form.get("delete"):
user_db = Users.query.filter_by(user_id=request.form.get("user_id")).first()
db.session.delete(user_db)
db.session.commit()
return redirect("user.html")
if request.form:
user_db = Users(user_name = request.form.get("user_name"),
age = request.form.get("age"),
gender=request.form.get("gender"),
activeness=request.form.get("activeness")
)
db.session.add(user_db)
db.session.commit()
user_data = Users.query.all()
return render_template("users.html", user_data = user_data)
<table>
<tr>
<th>User ID</th>
<th>User name</th>
<th>Age</th>
<th>Gender</th>
<th>Activeness<th>
</tr>
{% for i in user_data %}
<tr>
<td>{{ i.user_id }}</td>
<td>{{ i.user_name }}</td>
<td>{{ i.age }}</td>
<td>{{ i.gender }}</td>
<td>{{ i.activeness }}</td>
<td><form method="POST" action="./users">
<input type="hidden" value="{{ i.user_id }}" name="user_id">
<input type="submit" value="Delete">
</form></td>
</tr>
{% endfor %}
</table>
啊哈...!
我通过为删除按钮编写另一个路由来修复代码
@app.route('/users', methods=["GET", "POST"])
def users():
if request.form:
user_db = Users(user_name = request.form.get("user_name"),
age = request.form.get("age"),
gender=request.form.get("gender"),
activeness=request.form.get("activeness")
)
db.session.add(user_db)
db.session.commit()
user_data = Users.query.all()
return render_template("users.html", user_data = user_data)
@app.route('/delete_users', methods=["POST"])
def delete_user():
if request.form:
user_db = Users.query.filter_by(user_id=request.form.get("user_id")).first()
db.session.delete(user_db)
db.session.commit()
return redirect("/users")