Python實現註冊登入系統,python實現登入
表單在網頁中主要負責資料擷取功能。一個表單有三個基本組成部分: 表單標籤:這裡麵包含了處理表單資料所用CGI程式的URL以及資料提交到伺服器的方法。 表單域:包含了文字框、密碼框、隱藏欄位、多行文字框、複選框、單選框、下拉選擇框和檔案上傳框等。 表單按鈕:包括提交按鈕、複位按鈕和一般按鈕;用於將資料傳送到伺服器上的CGI指令碼或者取消輸入,還可以用表單按鈕來控制其他定義了處理指令碼的處理工作。而在HTML裡面,在地址欄輸入一個URL然後開啟,這樣發送的是一個get請求,若是要使用POST請求,就需要使用表單了。
HTML中的表單就是由form的標籤來聲明的,舉個栗子:
<form action="login" method="post"> <label>username:</label> <input type="text" name="username"><br /> <label>password:</label> <input type="password" name="password"><br /> <input type="submit" name="submit"> <form>
上面代碼中,由form標籤包含的部分便是表單的內容,其中關注其中的input部分,這個表單中有三個input,一個是text類型的,代表普通的文本輸入,一個是password類型的,代表密碼輸入,一個是submit類型的,是一個提交的按鈕;form標籤定義了兩個屬性,一個是action,代表這個表單提交的路徑,一個是method,代表這個表單提交的方法,預設為GET。接下來詳細說明一下上述例子的具體過程,當使用者點下submit的按鈕的時候,這時候瀏覽器就向action的路徑發送了一個POST請求,請求的內容是下面這個樣子的
data = { 'username':'XXXXXXXX', 'password':'XXXXXXXX' }
就是將各個除了submit之外的input的name作為key值,實際填寫的資料作為value值作為資料包,發送了一個POST請求,當然,如果吧method改為get的話,那麼發送的就是GET請求了。接下來,伺服器所接收到的的請求資料就跟從用戶端程式那邊發過來的資料是一樣的了,接下來就是根據發送過來的資料,做對應的處理然後返回了。
有了上述知識之後,我們就開始做一個簡單的註冊登入系統。我們做的註冊登入系統是有註冊功能和登入功能,註冊後伺服器將註冊資訊儲存到本地,登入時驗證註冊訊息是否正確。web.py裡面有一些template裡面已經有了一些支援,具體代碼如下:
# -*- coding: cp936 -*- import web import os urls = ( '/', 'hello', '/login', 'login', '/regist', 'regist' ) app = web.application(urls, globals()) class hello: def __init__(self): self.render = web.template.render('templates/') def GET(self): return self.render.form() class login: def POST(self): para = web.input() username = para['username'] password = para['password'] #TODO:... #if authenticate(username,password): #return render.hello(username) return 'hello world' class regist: def GET(self): return 'hello world' #return self.render.form() def POST(self): para = web.input() username = para['username'] password = para['password'] #TODO:... return 'hello world' if __name__ == '__main__': app.run()
運行效果如下挫圖:想要自己搞得美觀一點,可以自己找一些相關資料!這個實現的就是輸入密碼,傳回值。你可以看到沒有本地儲存,是的,這就是給你在TODO那裡留的坑!然後密碼匹配什麼的把上面的login類那裡的注釋去掉即可!
隨便輸入使用者名稱密碼可得:
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。