用flask实现一个用户登录的功能

Posted _jackie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用flask实现一个用户登录的功能相关的知识,希望对你有一定的参考价值。

#!/usr/bin/python
#coding=utf-8

from flask import Flask,session,redirect,url_for,request

app=Flask(__name__)
app.secret_key=\xf1\x92Y\xdf\x8ejY\x04\x96\xb4V\x88\xfb\xfc\xb5\x18F\xa3\xee\xb9\xb9t\x01\xf0\x96    #配置secret_key,否则不能实现session对话
# or
# app.config[‘SECRET_KEY‘] = ‘\xca\x0c\x86\x04\[email protected]\x02b\x1b7\x8c\x88]\x1b\xd7"+\[email protected]\xc3#\\‘
# or
# app.config.update(SECRET_KEY=‘\xca\x0c\x86\x04\[email protected]\x02b\x1b7\x8c\x88]\x1b\xd7"+\[email protected]\xc3#\\‘)

@app.route("/")
def index():
    if session.get(username)==shiyanlou and session.get(password)==shiyanlou:
        return "hello shiyanlou"
    return "you are not logged in"

@app.route("/login",methods=["POST","GET"])
def login():
    if request.method==POST:
        session[username]=request.form[username]
        session[password]=request.form[password]
        print >>>>>>>>>>>>>>>>>>>>>
        print session
        return redirect(url_for(index))
    return """
    <form action="" method="post">
        <p><input type=text name=username>
        <p><input type=text name=password>
        <p><input type=submit value=Login>
    </form>
    """

@app.route("/logout")
def logout():
    session.pop(username,None)
    session.pop(password,None)
    return redirect(url_for(index))

if __name__=="__main__":
    app.run(host=0.0.0.0,debug=True,port = 8017)  

 

以上代码来源:https://www.douban.com/note/511577488/

Flask生成SECRET_KEY(密钥)的一种简单方法:
原文:http://flask123.sinaapp.com/article/41/

SECRET_KEY是Flask中比较重要的一个配置值。本文介绍一种比较简单的生成SECRET_KEY的方法。

Session, Cookies以及一些第三方扩展都会用到SECRET_KEY值,这是一个比较重要的配置值,应该尽可能设置为一个很难猜到的值,随机值更佳。

随机的问题在于很难判断什么是真随机。一个密钥应该足够随机。你的操作系统可以基于一个密码随机生成器来生成漂亮的随机值,这个值可以用来做密钥:

>>> import os
>>> os.urandom(24)
\xca\x0c\x86\x04\[email protected]\x02b\x1b7\x8c\x88]\x1b\xd7"+\[email protected]\xc3#\\

把这个值复制粘贴到你的代码,你就搞定了密钥。

设置方法:

app = Flask(__name__)
app.config[SECRET_KEY] = \xca\x0c\x86\x04\[email protected]\x02b\x1b7\x8c\x88]\x1b\xd7"+\[email protected]\xc3#\\
# or
app.secret_key = \xca\x0c\x86\x04\[email protected]\x02b\x1b7\x8c\x88]\x1b\xd7"+\[email protected]\xc3#\\
# or
app.config.update(SECRET_KEY=\xca\x0c\x86\x04\[email protected]\x02b\x1b7\x8c\x88]\x1b\xd7"+\[email protected]\xc3#\\)

 

以上是关于用flask实现一个用户登录的功能的主要内容,如果未能解决你的问题,请参考以下文章

flask实现用户注册和登录功能

Flask 编写http接口api及接口自动化测试

使用 Flask 框架写用户登录功能的Demo时碰到的各种坑——使用Flask-Login库实现登录功能

Flask通过Flask_login实现用户登录

怎么用flask+mysql来实现一个简单的用户注册和登陆效果的页面

怎么用flask+mysql来实现一个简单的用户注册和登陆效果的页面