python - 如何在 Flask SQLAlchemy 中通过用户名获取用户位置的 api 调用路由
问题描述
我正在尝试通过用户名获取用户位置(他们在注册时输入)的路线。我不知道该怎么做。
这是我的桌子
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), nullable=False, unique=True)
password = db.Column(db.String(), nullable=False)
location = db.Column(db.String(), nullable=True)
def __init__(self, username, password, location):
self.username = username
self.password = password
self.location = location
class UserSchema(ma.Schema):
class Meta:
fields = ("id", "username", "password", "location")
user_schema = UserSchema()
many_users_schema = UserSchema(many=True)
这是我的路线
@app.route("/location/get/data/<username>", methods=["GET"])
def get_location_by_username(username):
user_id = db.session.query(User.id).filter(User.username == username).first()[0]
user_location = db.session.query(User).filter(User.user_id == username).first()[0]
return jsonify(user_schema.dump(user_location))
解决方案
这是用户输入 HTML 部分时从前端获取位置的简单方法:
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<script>
function submit(){
var location = document.getElementById('location').value;
$.get('/location',{location : location});
}
</script>
<body>
<input type = 'text' id = 'location' placeholder = 'location'>
<button onclick = 'submit()'>Submit</button>
</body>
</html>
烧瓶 API 部分:
@app.route('/location', methods = ['GET','POST'])
def location():
user_loc = request.args.get('location');
print(user_loc)
推荐阅读
- ruby-on-rails - Rails 需要在注册后设置用户的个人资料
- android - 为什么我可以构建和运行我的 Android 应用程序,但无法针对某些 support.v4 和 v7 问题运行单元测试?
- asp.net-web-api - Web API:如何从 HttpContext 读取动作属性和参数
- c# - 编码的 UI 和 UI 自动化并没有齐头并进
- javascript - Three.js:保持我的对象同时,不管我的窗口的高度
- java - 如何使用 Java Jackson 将 JSON 数组的任意字符串解析为列表
- java - log4j RollingFileAppender 性能
- css - 在 Angular 中为 Less 使用全局变量
- javascript - 在javascript中以任一方向循环范围
- node.js - 如何为 Node.js 创建 Mongo 数据库?