Если в URL передан один аргумент, вы можете сделать это следующим образом
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)
Если у вас есть несколько параметров:
#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)
То, что вы пытались сделать, работает в случае запросов POST, когда параметры передаются как параметры формы и не отображаются в URL. В случае, если вы на самом деле разрабатываете API входа в систему, рекомендуется использовать запрос POST, а не GET и предоставить данные пользователю.
В случае почтового запроса это будет работать следующим образом:
#url
http://10.1.1.1:5000/login
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>
Маршрут:
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)