Si un seul argument est passé dans l'URL, vous pouvez le faire comme suit
from flask import request
#url
http://10.1.1.1:5000/login/alex
from flask import request
@app.route('/login/<username>', methods=['GET'])
def login(username):
print(username)
Si vous avez plusieurs paramètres:
#url
http://10.1.1.1:5000/login?username=alex&password=pw1
from flask import request
@app.route('/login', methods=['GET'])
def login():
username = request.args.get('username')
print(username)
password= request.args.get('password')
print(password)
Ce que vous essayez de faire fonctionne en cas de requêtes POST où les paramètres sont passés en tant que paramètres de formulaire et n'apparaissent pas dans l'URL. Dans le cas où vous développez réellement une API de connexion, il est conseillé d'utiliser la requête POST plutôt que GET et d'exposer les données à l'utilisateur.
En cas de demande de post, cela fonctionnerait comme suit:
#url
http://10.1.1.1:5000/login
Extrait HTML:
<form action="http://10.1.1.1:5000/login" method="POST">
Username : <input type="text" name="username"><br>
Password : <input type="password" name="password"><br>
<input type="submit" value="submit">
</form>
Route:
from flask import request
@app.route('/login', methods=['POST'])
def login():
username = request.form.get('username')
print(username)
password= request.form.get('password')
print(password)