16.利用 Flask和 Sqlite模塊,編寫相應(yīng)的 Python程序與網(wǎng)頁代碼,來模擬用戶登錄驗(yàn)證過程。功能是:運(yùn)行 Python程序,啟動(dòng)瀏覽器并輸入相應(yīng)網(wǎng)址,在網(wǎng)頁中輸入用戶名、密碼,與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比對,若正確則在瀏覽器中顯示成功信息,否則顯示“用戶名或密碼錯(cuò)
誤!”。存儲用戶名、密碼的數(shù)據(jù)表中共有三個(gè)字段,依次表示序號、用戶名、密碼。input.jye.ai網(wǎng)頁與 success.html網(wǎng)頁內(nèi)容如下:
<html><head><title>輸入賬號密碼</title></head><body> <formaction=“/deal_request“method=“get“> 請輸入賬號:<inputtype=“text“name=“usr“><br> 請輸入密碼:<inputtype=“password“name=“psd“><br><inputtype=“submit“value=“提交“/> </form> </body></html> |
<html><head><title>W(wǎng)elcome</title></head> <body> <h1>登錄成功?。?h1><br> <h1>歡迎你:①</h1><br> </body></html> |
編寫的 Python程序如下:
fromflaskimportFlask,render_template,request
importsqlite3
②=Flask( ( ?。﹏ame ( ?。?br />@app.jye.ai('/')
definput( ):
returnrender_template('input.jye.ai')
@app.jye.ai('/deal_request',methods=['GET'])
defdeal_request( ):
get_usr=request.args.jye.ai('usr')
get_psd=request.args.jye.ai('psd')
ifcheck(get_usr,get_psd):
returnrender_template('succes.jye.ai',name=get_usr)
else:
return'用戶名或密碼錯(cuò)誤!'
defcheck(name,psd):
db=sqlite3.connect('login.jye.ai')
cur=
③#創(chuàng)建游標(biāo)對象
cur.execute('select*fromusers')
data=cur.fetchall( ?。?br />forrecindata:#比對用戶名與密碼
ifrec[1]==nameandrec[2]==psd:
returnTrue
else:
returnFalse
if( ?。﹏ame( )=='( ?。﹎ain( )':
app.jye.ai(host='127.0.0.1',port=5000,debug=False)
請完成下列題目:
(1)在瀏覽器中輸入地址:http://127.0.0.1:5000,則訪問的網(wǎng)頁是
。
(2)若登錄成功后,在瀏覽器中文字“歡迎你:”的后面顯示當(dāng)前用戶名,則劃線①處的代碼是
。
(3)要實(shí)現(xiàn)上述功能,完善劃線②、③處代碼。
(4)若本機(jī)IP地址為 192.168.0.1,若要使同網(wǎng)段內(nèi)其他計(jì)算機(jī)可以訪問上述服務(wù),則需將加框處的IP地址改為
。