1. 程式人生 > >20180926:關於Flask、flask_sqlalchemy、 flask_wtf 這幾個框架分別是幹什麼的?

20180926:關於Flask、flask_sqlalchemy、 flask_wtf 這幾個框架分別是幹什麼的?

學習視訊後,一個模組接一個模組的,很難分清,現自己總結一下(不一定完全準確):

flask:

這個是網頁框架,主要可以在程式設計中實現網頁顯示,和網頁互動等功能,實現Web程式開發。

app = Flask(__name__)  # 例項化一個Flask

flask_sqlalchemy:

這個應該是用來處理MySQL之類資料庫操作的。有點類似於簡化程式中寫複雜的“sql”語句,其實程式中能寫SQL語句不用這個,但是用這個就可以像操作物件一樣操作資料庫,方便。

db = SQLAlchemy(app)  # 初始化資料庫

flask_wtf:

感覺這個是控制表單的,好像就是通過這個可以在網頁模板中插入能被程式接收的“賬戶、“密碼“框,然後使用者提交被程式接收到資訊,後端處理。

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired
   
class LoginForm(FlaskForm):
    """"管理員登陸表單"""
    account = StringField(
        label="賬號",
        validators=[        # 驗證器
            DataRequired("請輸入賬號!")
        ],
        description="賬號",  # 描述
        render_kw={
            "class": "form-control",
            "placeholder": "請輸入賬號啊!",
            #"required":"required"
        }
    )
    pwd = PasswordField(
        label="密碼",
        validators=[
            DataRequired("請輸入密碼")
        ],
        description="密碼",
        render_kw={
            "class":"form-control",
            "placeholder":"請輸入密碼!",
            "required":"required"
        }
    )
    submit=SubmitField(
        # 登陸
        render_kw={
            "class":"btn btn-primary btn-block btn-flat"
        }
    )