我有:
from flask import Flask, render_template
import datetime
app = Flask(__name__)
@app.route("/")
def hello():
now = datetime.datetime.now()
timeString = now.strftime("%Y-%m-%d %H:%M")
templateData = {
'title' : 'HELLO!',
'time': timeString
}
return render_template('main.html', **templateData)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80, debug=True)
Run Code Online (Sandbox Code Playgroud)
和 html:
<!DOCTYPE html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>Hello, World!</h1>
<h2>The date and time on the server is: {{ time }}</h2>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
是否可以在烧瓶上创建一个按钮以在同一页面上的烧瓶功能中发布?谢谢
所以你的表单代码看起来像这样(这只是一个例子):
<form method='POST' action="/">
<p>username: <input type="text" name="username"/></p>
<p>password: <input type="password" name='password'/></p>
<p><input type="submit" value="Login" style="width: 100px; height: 100px;"/></p>
</form>
Run Code Online (Sandbox Code Playgroud)
action="..." 应该是您要发布到的路径。因此,如果我们想发布到“/”路径,我们可以执行上述操作并使用以下代码在您的代码中捕获它:
@app.route('/', methods=['GET', 'POST'])
def hello():
if request.method == 'POST':
.... # Add whatever code you want to execute if it is a post request
now = datetime.datetime.now()
timeString = now.strftime("%Y-%m-%d %H:%M")
templateData = {
'title' : 'HELLO!',
'time': timeString
}
return render_template('main.html', **templateData)
Run Code Online (Sandbox Code Playgroud)
我们需要更改 app.route 部分,因为我们必须指定我们可以通过 Get 请求或 Post 请求到达此路由。我们可以使用if request.method == 'POST'来检查它是否是一个 Post 请求:
希望这可以帮助。