是否仍然可以使用JavaScript查询SQLAlchemy

2024-09-28 01:33:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个以Flask为后端的网站,我希望我的JavaScript查询我的SQLAlchemy数据库,检查是否有同名用户如果有,则显示一条消息如果没有,则继续访问路径,如有任何帮助,将不胜感激,谢谢

而且我不想泄露我所有的用户名

我要注册用户名的代码

@app.route("/reg/", methods=["POST", "GET"]);
def reg():
    if request.method == "POST":
        username = request.form["username"]
        
        check = db.query.filter_by(username=username).first()
        
        if check is None:
            add = db(username=username)
            udb.session.add(add)
            udb.session.commit()
            
            return render_template("login.html")

        else:
            return ('' ,304) # instead of this I want JavaScript to check and send a message that user already exists   
    else:
        return render_template("login.html")

我的HTML表单

<form action="#" method="POST"> <input type="text" placeholder="Enter Username" name="username"> <input type="submit" name="submit"> </form>

再次感谢你


Tags: formadddbreturnifrequestsessioncheck
2条回答

Javascript不能这样做!但如果我以另一种方式理解您,您可以启动SQLAlchemy对象并将其传递给模板上下文,如下所示:

query = Users.query
return render_template('folder/mytemplate.html', user=query)

在模板中,您可以根据需要在HTML<script>标记中过滤查询

<script>
    var x = '{{ user.first().name }}' // here you can play with query
<script>
async store(req, res){
    
    const { username } = req.body;

    const userExists = await Dev.findOne({ user: username });

    if(userExists){
        return res.json(userExists);
    }

    const response = await axios.get(`https://api.github.com/users/${username}`);

    const { name, bio, avatar_url: avatar } = response.data;

    const dev = await Dev.create({
        name,
        user: username,
        bio,
        avatar
    });

    return res.json(dev);

}

相关问题 更多 >

    热门问题