Flask面試問題

2021-08-21 14:51:46 字數 2156 閱讀 7272

概念解釋

flask是乙個web框架,就是提供乙個工具,庫和技術來允許你構建乙個web應用程式。這個web應用程式可以是一些web頁面,部落格,wiki,基於web的日裡應用或商業**。

優點flask屬於微框架(micro-framework)這一類別,微架構通常是很小的不依賴外部庫的框架。

- 框架很輕量

- 更新時依賴小

- 專注於安全方面的bug

flask的依賴flask

djangoform.html

action="}"

method='post'>

}#進入csrf驗證

}}}p>

}}}p>

}p>

form>

manage.py
from flask import flask,render_template,request

from flask_wtf import flaskform #匯入繼承父類

from wtforms import stringfield,passwordfield,submitfield

from wtforms.validators import length,datarequired

class

login

(flaskform):

#繼承自flaskform類

username = stringfield('使用者名稱',validators=[length(min=6,max=12,message='使用者名稱長度為6~12位'),datarequired(message='使用者名稱不能為空')])

userpass = passwordfield('密碼',validators=[length(min=6,max=12,message='密碼長度為6~12位'),datarequired(message='密碼不能為空')])

submit = submitfield('登入')

defwtf_form

(): form = login() #例項化form物件

if request.method == 'post':

if form.validate_on_submit(): #資料正確 並且驗證csrf通過

print(request.form.get('userpass'))

print(request.form.get('username'))

return

'資料提交成功'

return render_template('wtf_form.html',form=form)

#注:#1 methods 引數告訴flask在url對映中把這個檢視函式註冊為get和post請求的處理程式,預設get

#2 採用post請求可以通過物件很輕鬆訪問,get 請求沒有主體,提交的資料以查詢字串的形式附加到url中

#3 validate_on_submit() 會呼叫username 欄位上附屬的 datarequired() 驗證函式。

python中的資料庫連線有兩種方式get / post/delete

藍圖blueprint實現模組化的應用

-book_bp = blueprint('book', __name__)建立藍圖物件

- 藍圖中使用路由@book_bp.route('url')

- 在另一.py檔案裡匯入和註冊藍圖from book import book_bp

作用每次有請求過來的時候,flask 會先建立當前執行緒或者程序需要處理的兩個重要上下文物件,把它們儲存到隔離的棧裡面,這樣檢視函式進行處理的時候就能直接從棧上獲取這些資訊。

wtforms是乙個支援多個web框架的form元件,主要用於對使用者請求資料進行驗證。

flask的預設session利用了werkzeug的securecookie,把資訊做序列化(pickle)後編碼(base64),放到cookie裡了。

過期時間是通過cookie的過期時間實現的。

為了防止cookie內容被篡改,session會自動打上乙個叫session的hash串,這個串是經過session內容、secret_key計算出來的,看得出,這種設計雖然不能保證session裡的內容不洩露,但至少防止了不被篡改

It面試問題

一般第一輪技術面都是來考察你最基本的技術功底。招聘季節,隨處可見抱著厚厚的 程式設計師面試寶典 啃的學生。偶爾也能看見 程式設計之美 劍指offer 的神書。這些經驗書確實有用。但是要想全面的掌握筆試面試的基礎考點,還是需要完整的複習。其實,筆試面試對計算機基礎的考察是萬變不離其宗的。其考點無非分為...

面試 Hbase面試問題

1.hbase怎麼預分割槽?2.hbase怎麼給web前台提供介面來訪問?3.htable api有沒有執行緒安全問題,在程式中是單例還是多例?4.hbase有沒有併發問題?5.metaq訊息佇列,zookeeper集群,storm集群,就可以完成對 推薦系統功能嗎?還有沒有其他的中介軟體?6.st...

面試問題 十大面試問題

在面試中,你會被問到的問題將是 對於許多不同型別的工作,一般問題可以是相同的。以下是一些可以被問到的常見問題。1.你的技能 您的面試官想知道您是否具備完成工作的技能,因此他們可能會問 了解自己的優勢,並提及與您正在接受面試的工作相關的優勢。盡可能提供您之前的工作或生活經歷的例子。雇主尋求的典型優勢是...