【问题标题】:How do I route my api call where I get the location of a user by their username in Flask SQLAlchemy如何在 Flask SQLAlchemy 中通过用户名获取用户位置的 api 调用路由
【发布时间】:2020-07-27 04:36:00
【问题描述】:

我正在尝试创建一条路线,让我通过用户名获取用户的位置(他们在注册时输入的位置)。我不知道该怎么做。

这是我的桌子

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))

【问题讨论】:

    标签: python api flask flask-sqlalchemy


    【解决方案1】:

    这是用户输入时从前端获取位置的简单方法 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>
    

    Flask API 部分:

    @app.route('/location', methods = ['GET','POST'])
    def location():
        user_loc = request.args.get('location');
        print(user_loc)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多