![](/img/trans.png)
[英]flask restful: how do I pass python function as a parameter to trigger GET request?
[英]How Do I Pass A Parameter into A Get Request to A Flask Blueprint Python App?
我有一個燒瓶/藍圖應用程序,可以處理硬編碼或all()
GET 請求。 這是api.py
中的代碼:
from flask import Blueprint
from ..extensions import db
from ..models.users import Users
api = Blueprint('api', __name__)
@api.route('/user/<name>')
def get_user(email):
users = Users.query.first()
return {'users': users.email}
上面的代碼有效並且在 Postman 中執行GET http://127.0.0.1:5000/user/anythingHere
返回:
{
"users": "test@example.com"
}
這是正確的並且與我的數據庫相對應。 但是當我將api.py
中的代碼修改為如下所示時:
from flask import Blueprint
from ..extensions import db
from ..models.users import Users
api = Blueprint('api', __name__)
@api.route('/user/<name>')
def get_user(email):
users = Users.query.filter_by(email='<name>').first()
return {'users': users.email}
在 Postman 中運行http://127.0.0.1:5000/user/test@example.com
希望test@example.com
將<name>
填充到filter_by(email='<name>')
中,但顯然這不會我得到TypeError: get_user() got an unexpected keyword argument 'name'
in my terminal and this in Postman:
<!doctype html>
<html lang=en>
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or
there is an error in the application.</p>
那么如何將 GET 請求中的 email 參數傳遞給 get_user 函數呢?
您需要將email
作為email
而不是<email>
傳遞給函數,如下所示:
from flask import Blueprint
from ..extensions import db
from ..models.users import Users
api = Blueprint('api', __name__)
@api.route('/user/<email>')
def get_user(email):
users = Users.query.filter_by(email=email).first()
return {'users': users.email}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.