Flask登录系统

时间:2014-10-16 06:32:42

标签: python html flask

我刚刚开始研究烧瓶,想知道我是否正确地进行烧瓶。

我基本上想要使用Flask构建一个登录页面。

我的理解是:

  1. 使用烧瓶制作webapp。我提供HTML模板,这实际上是我的登录页面。
  2. 用户在登录表单中输入详细信息。
  3. 我从哪里开始?我该怎么办?我有用户名和密码,但如何检查数据库中的凭据?

    我的代码如下:

    from flask import Flask
    from flask import render_template
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    @app.route('/hello')
    def hello():
        return render_template('hello.html')
    
    if __name__ == '__main__':
        app.run(debug=True)
    

    这是烧瓶文件代码。 HTML代码如下:

    <html>
        <body>
            <form name="login" method="post">
                Username:<input type="text" name=username required placeholder="Username"><br>
                Password:<input type="password" name=pwd required placeholder="Password"><br>
                <input type="submit" value="Login">
            </form>
            <button 
        </body>
    </html>
    

    我该如何处理?

    对不起,我对web-dev部分和烧瓶都很天真,但对我来说都是新手。

1 个答案:

答案 0 :(得分:1)

使用Flask个文档,我们只需创建一个像

这样的Login方法
@app.route('/login', methods=['POST', 'GET'])
def login():
    error = None
    if request.method == 'POST':
        if valid_login(request.form['username'],
                       request.form['password']):
            return log_the_user_in(request.form['username'])
        else:
            error = 'Invalid username/password'
    # the code below is executed if the request method
    # was GET or the credentials were invalid
    return render_template('login.html', error=error)

并且你的html几乎没什么变化

<html>
    <body>
        <form name="login" method="post" action='/login'>
            Username:<input type="text" name=username required placeholder="Username"><br>
            Password:<input type="password" name=password required placeholder="Password"><br>
            <input type="submit" value="Login">
        </form>
    </body>
</html>