Flask登入案例

2021-08-09 18:11:24 字數 2556 閱讀 6391

class dataswitch():

'''資料交換

'''def

__init__(self

, server, port, user, password, db_name, autocommit=false):

self.conn = psycopg2.connect(host=server,

port=port,

user=user,

password=password,

database=db_name)

self.cursor = self.conn.cursor(cursor_factory=psycopg2.extras.dictcursor)

self.conn.autocommit = autocommit

def

__del__(self):

if (self.cursor != none):

self.cursor.close()

if (self.conn != none):

self.conn.close()

def

get_user_info(self

, user, passwd):

'''獲取使用者資訊

返回值: 失敗返回none, 成功返回字典型使用者資訊

'''sql = "select

*from user_info where username =%s and password =%s"

self.cursor.execute(sql, (user, passwd))

dict_user_info = self.cursor.fetchone()

if dict_user_info == none:

return

none

dict_return = {}

for ele in ["username"

, "access_key"

, "secret_key"

, "registerdate"

, "idcard"]:

if dict_user_info.has_key(ele):

if type(dict_user_info[ele]) == datetime.date:

dict_user_info[ele] = str(dict_user_info[ele])

dict_return[ele] = dict_user_info[ele]

else:

dict_return[ele] = none

return dict_return

__author__ = 'keeper_zdl'

def

allow_cross_domain(fun):

@wraps(fun)

def

rst = make_response(fun(*args, **kwargs))

rst.headers['access-control-allow-origin'] = '*'

rst.headers['access-control-allow-methods'] = 'put,get,post,delete'

allow_headers = "referer,accept,origin,user-agent"

rst.headers['access-control-allow-headers'] = allow_headers

return rst

'''函式功能: 獲取使用者基本資訊

輸入引數: username,password

返回值: 使用者基本資訊

''',

methods=['post'])

@allow_cross_domain

def

login():

try:

username = request.form['username']

password = request.form['password']

except

exception

, e:

return jsonify(success=false

, error=error_msg_miss_param)

handle = dataswitch(db_hostname, db_port, db_user, db_password, db_name)

dict_user_info = handle.get_user_info(username, password)

if dict_user_info == none:

return jsonify(success=false

, error=error_msg_invalid_user_passwd,

username=username)

return jsonify(success=true

, error=""

, **dict_user_info)

if __name__ == '__main__':

,80)

Flask 登入練習

使用藍圖並用cbv模式完成登入功能 登入成功後跳轉到首頁 將session儲存在liunx上的redis資料庫 使用before request驗證是否是登陸使用者 from flask import blueprint,render template,redirect,views,request,...

實現登入 Flask 實現登入功能

在大多數人學習 web 開發的路線圖中,登入功能往往是我們接觸到的第乙個功能,本文對 flask 實現登入功能做乙個簡單的介紹。需求的分析往往是實現的第一步,在對 flask 的登入功能進行編碼 demo 之前,有必要先介紹一下登入模組的功能列表和基本流程。乙個登入功能主要要實現如下幾個基本的功能點...

Flask使用者登入flask login

flask login登入的並保持狀態 注 session 防護 session 資訊一般存放在 cookie 中,但是 cookie 不夠安全,容易被竊取其中 session 資訊,偽造使用者登入系統,幸運的是 flask login 提供了 session 防護機制,提供有 basic 和 st...