五分鐘,用Flask做一個(gè)簡(jiǎn)單的交互頁(yè)面
Python 作為一個(gè)萬(wàn)能且簡(jiǎn)單的編程語(yǔ)言,其在各個(gè)領(lǐng)域都有著很好的表現(xiàn)。
其中在 Web 領(lǐng)域,也有大名鼎鼎的 Django 和 Flask,今天我們就通過(guò) Flask,用五分鐘寫(xiě)一個(gè)簡(jiǎn)單的交互頁(yè)面!
基本功能
1、安裝 Flask
在命令行中輸入 pip install flask 即可安裝 Flask。
2、創(chuàng)建 Flask 應(yīng)用
在 Python 文件中,首先需要導(dǎo)入 Flask 模塊,然后創(chuàng)建一個(gè) Flask 應(yīng)用對(duì)象。
示例代碼如下:
from flask import Flask
app = Flask(__name__)
這個(gè)代碼會(huì)創(chuàng)建一個(gè)名為 app 的 Flask 應(yīng)用對(duì)象。
3、編寫(xiě)路由
在 Flask 應(yīng)用中,路由用于指定請(qǐng)求的 URL 與相應(yīng)的處理函數(shù)之間的關(guān)系??梢允褂?@app.route() 裝飾器來(lái)定義路由。
示例代碼如下:
@app.route('/')
def index():
return 'Hello, World!'
這個(gè)代碼定義了一個(gè)名為 index() 的路由,它處理根路徑 / 的請(qǐng)求,并返回字符串 'Hello, World!'。
4、運(yùn)行應(yīng)用
在命令行中輸入 python app.py,其中 app.py 是你的 Python 文件名。這會(huì)啟動(dòng) Flask 應(yīng)用,并監(jiān)聽(tīng)默認(rèn)端口號(hào)(80)。
在瀏覽器中訪問(wèn) http://localhost:5000,就可以看到頁(yè)面上顯示的 "Hello, World!" 的文本。
增強(qiáng)功能
下面我們?cè)黾右恍└呒?jí)功能,比如表單和提交
我們使用 Flask 中的 form 模塊,這個(gè)模塊提供了處理表單數(shù)據(jù)的方法和工具。
使用 Flask 和 form 模塊創(chuàng)建一個(gè)簡(jiǎn)單的表單頁(yè)面,并將表單數(shù)據(jù)提交到數(shù)據(jù)庫(kù)中
from flask import Flask, render_template, request
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'
class UserForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
email = StringField('Email', validators=[DataRequired()])
submit = SubmitField('Submit')
@app.route('/', methods=['GET', 'POST'])
def index():
form = UserForm()
if form.validate_on_submit():
# 將表單數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中
user = User(name=form.name.data, email=form.email.data)
db.session.add(user)
db.session.commit()
return redirect(url_for('index'))
return render_template('index.html', form=form)
if __name__ == '__main__':
app.run(debug=True)
在上面的代碼中,我們首先導(dǎo)入了需要的模塊和類(lèi)。然后定義了一個(gè)名為 UserForm 的表單類(lèi),它包含了三個(gè)字段:name、email 和 submit。其中 name 和 email 分別使用了 StringField 和 StringField,而 submit 則使用了 SubmitField。在表單類(lèi)中還定義了一些驗(yàn)證器,用于確保表單數(shù)據(jù)的合法性。
接下來(lái),我們?cè)诼酚珊瘮?shù)中創(chuàng)建了一個(gè) UserForm 實(shí)例,并將其傳遞給模板進(jìn)行渲染。如果用戶提交了表單數(shù)據(jù),并且表單驗(yàn)證通過(guò),我們就會(huì)將表單數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,并重定向到主頁(yè)。否則,我們會(huì)將表單呈現(xiàn)給用戶進(jìn)行填寫(xiě)。
最后,我們?cè)谥骱瘮?shù)中啟動(dòng)了應(yīng)用,并開(kāi)啟了調(diào)試模式。這樣就可以在本地運(yùn)行應(yīng)用,并訪問(wèn) http://localhost:5000/來(lái)測(cè)試表單功能了。
好了,以上就是今天的分享,代碼非常簡(jiǎn)單,5分鐘直接搞定!