python - 使用Flask单击按钮后无法打开html
问题描述
我基本上有一个带有三个按钮的 base.html,我想要做的是每个按钮单击都会打开一个相应的 html 视图。
base.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2>User Management</h2>
<br>
<button type="button" class="btn btn-info btn-lg">Create New User</button>
<button type="button" class="btn btn-info btn-lg">Deactivate User</button>
<button type="button" class="btn btn-info btn-lg">Change User Password</button>
{% block content %}
{% endblock %}
</div>
</body>
</html>
我有 3 个扩展 base.html 的其他 html 文件,这是其中之一:
deactivate_user.html
{% extends 'base.html' %}
{% block header %}
<h1>{% block title %}Deactivate User{% endblock %}</h1>
{% endblock %}
{% block content %}
<div class="container mt-3">
<h3>Deactivate User</h3>
<br>
<form action="{{ url_for('deactivate_user')}}" method='POST'>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">@</span>
</div>
<input type="text" class="form-control" placeholder="Username" id="username" name="username" required>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
{% endblock %}
这是烧瓶代码
@app.route('/deactivate_user', methods = ('GET', 'POST'))
def deactivate_user():
if request.method == 'POST':
username = request.form['username']
error = None
if not username:
error = 'Username is required.'
if error is None:
flash('User has been deactivated successfully.', 'success')
flash(error, 'error')
else:
return render_template('deactivate_user.html')
但是,我无法将按钮单击与应用程序路由路径相关联。
我在按钮标签中尝试了 onClick 方法,但这只接受 javascript。
我需要将它作为 GET 请求发送到 /deactivate_user 应用程序路由。
解决方案
您是否允许将按钮更改为锚标记?
<a class="btn btn-info btn-lg" role="button" href="{{ url_for('deactivate_user') }}">Deactivate user</a>
``
推荐阅读
- intellij-idea - 可以运行 IntelliJ 主题插件
- python - Numpy乘以N维矩阵的一维
- reactjs - ReactJS 使用Reducer 过滤函数直接在状态
- bash - Bash 函数:变成一个二维数组,删除一个索引标识的行和列
- java - 如何在 jdbc 中检索 record%type 表?
- asp.net-mvc - 我可以在 .net core 3.0 上使用 Microsoft.AspNet.Identity
- javascript - 将 php 变量回显到 javascript 不起作用
- java - 使复活节计算器代码更有效的可能方法?
- gcc - 在 Sierra 上使用 g++ MacOS 的 OpenMP
- javascript - 如何从数据库中获取值并在 javascript 的选择选项中显示它们