python驗證登入

2022-11-24 18:11:07 字數 1520 閱讀 1804

一個web2.0時代的**,自然少不了使用者註冊,登入,驗證的功能,那麼python可以怎樣實現登入驗證呢

這裡我們使用裝飾器來做登入驗證

未登入使用者

登入的普通使用者,就是我們

管理員使用者

# coding:utf-8

import sys

user =

def login_confirm(func):

def wrap(*args, **kwrgs):

if user["is_login"]:

func(*args, **kwrgs)

else:

print "未登入"

return func

return wrap

def admin_confirm(func):

def wrap(*args, **kwrgs):

if user["is_admin"]:

func(*args, **kwrgs)

else:

print "沒有許可權"

return func

return wrap

def index():

print "this page is for everyone"

@login_confirm

def usr():

print "this is user page!"

@login_confirm

@admin_confirm

def admin():

print "this is admin page!"

if __name__=="__main__":

while true:

print "(1) 訪問首頁 (2) 登入 (3) 使用者介面 (4)管理員 (q)退出\n"

num = raw_input("請輸入對應數字:")

if num == "q":

sys.exit(0)

if num == "1":

index()

elif num == "2":

name = raw_input("請輸入你的名字:")

if name == "admin":

user["name"] = name

user["is_login"] = true

user["is_admin"] = true

else:

user["name"] = name

user["is_login"] = true

elif num == "3":

usr()

elif num == "4":

admin()

else:

print "錯誤的選項"

其中login_confirm裝飾器用來驗證登入,admin_confirm裝飾器用來驗證管理員許可權,這裡的使用者資訊儲存在user_info這個字典裡,在實際應用中,可以配合session使用,從session中獲取用去資訊,來執行相關操作

python python元類

這兩天在看django框架,裡面的filter實現原理搞不明白,最後發現跟python的元類有關係.原文 元類本身而言,它們其實是很簡單的 1 攔截類的建立 2 修改類 3 返回修改之後的類 這樣的作用是什麼呢?攔截類的建立,也就是不通過type 的方法,和預設引數進行建立類。這樣做的好處就是可以在...

Python Python入門

python入門 今天開會的時候,領導說起python,說的那個叫人心動,於是乎就有了下面的東西。起步開始 一.概念 參考 個人總結 由荷蘭人guido van rossum於1989年發明,第一個公開發行版發行於1991年。1.python是一門面嚮物件語言 2.python是解釋型語言 3.py...

Python Python中in與not in

在python中,要判斷特定的值是否存在列表中,可使用關鍵字in,判斷特定的值不存在列表中,可使用關鍵字not in letters a b c d e f g if a inletters print a exists if h notin letters print h not exists 列...