如何让flask中的请求标签发挥作用

问题描述 投票:0回答:1

在过去的一个小时里,我一直在尝试使请求标签在烧瓶中工作..

这是我在 server.py 中的代码:

@app.route('/login', methods=['post'])
def receive_data():
    user = request.form['username']
    password = request.form['password']
    return f'<h1>name:{user} password:{password}</h1>'

在index.html中它:

    <form action="{{ url_for('receive_data'}}" method="POST">
        <label>Name</label>
        <input type="text" placeholder="name" name="username">
        <label>Password</label>
        <input type="text" placeholder="password" name="password">
        <button type="submit">Ok</button>
    </form>
I also tried the request.form.get('username')but it returns none
python html forms flask
1个回答
0
投票

确保导入

request
对象:

from flask import Flask, request

呵呵是server.py:

from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/')
def index():
    return render_template('index.html')
@app.route('/login', methods=['POST'])
def receive_data():
    user = request.form.get('username')
    password = request.form.get('password')
    if user and password:
        return f'<h1>Name: {user}, Password: {password}</h1>'
    else:
        return '<h1>Missing username or password</h1>', 400
if __name__ == '__main__':
    app.run(debug=True)

这是HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Login Page</title>
</head>
<body>
    <form action="{{ url_for('receive_data') }}" method="POST">
        <label for="username">Name:</label>
        <input type="text" id="username" name="username" placeholder="Enter your name">
        <br>
        <label for="password">Password:</label>
        <input type="password" id="password" name="password" placeholder="Enter your password">
        <br>
        <button type="submit">Login</button>
    </form>
</body>
</html>

不要忘记安装 Flask 😇!

pip install Flask
© www.soinside.com 2019 - 2024. All rights reserved.