您好,登錄后才能下訂單哦!
flask 如何在python 中使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
1、文件引入,通過import引入,有以下幾種方式
from appon.base.baseController import * import cgi import appon.controller.loginController as LoginC
2、python 中用到的session、redirect 等都需要通過 import 引入
3、flask
app = Flask(__name__,template_folder='appon/view/',static_folder="",static_url_path="")
實(shí)例化對象,第一個參數(shù)默認(rèn)值,一般不做修改,template_folder 表示模板路徑,默認(rèn)在入口文件同級,可以通過參數(shù)傳遞的方式修改默認(rèn)模板路徑
app.debug = True
設(shè)置項目為調(diào)試模式,方便開發(fā)者在開發(fā)過程中調(diào)試,注:bool值首字母必須大寫
app.secret_key = secret_key
該參數(shù)用戶保護(hù)session數(shù)據(jù),如果不設(shè)置會報錯
redirect(url_for('home'))
跳轉(zhuǎn)到指定的路徑
render_template('login/index.html')
模板渲染
通過 extends 在模板頁面中加載通用模板文件,
extends 引入文件時,一個html 只能使用一次 {% extends "public/header.html" %}
通過 include 在模板頁面中加載通用模板文件,
include 引入文件時,一個html 可以使用多次 {% include "public/header.html" %}
模板讀取session數(shù)據(jù)
{{session['username']}}
4、連接MySQL
引入MySQL 文件
import mysql.connector import mysql
引入MySQL配置文件
from appon.config.db import *
創(chuàng)建MySQL連接
# 創(chuàng)建數(shù)據(jù)庫連接 conn = mysql.connector.connect(**dbInfo) # 使用 cursor() 方法創(chuàng)建一個游標(biāo)對象 cursor cursor = conn.cursor(dictionary = True)
dictionary = True,這個參數(shù)會把MySQL數(shù)據(jù)轉(zhuǎn)化為k-v形式
sql具體執(zhí)行過程可以見源碼文件,需要說明的是每次創(chuàng)建連接后,該次sql任務(wù)完成以后需要依次執(zhí)行:sql提交、游標(biāo)關(guān)閉、連接關(guān)閉,然后把數(shù)據(jù)庫結(jié)果返回給對應(yīng)的請求方法
5、接收form表單數(shù)據(jù)
username = request.form['username'] if username == False: return "username is empty"
通過request.form接收,每個索引為form表單對應(yīng)的字段名,如果不存在則返回 False
6、session設(shè)置
# 可以設(shè)置session有效期 session.permanent = True session["username"] = username session["userid"] = adminInfo['id']
讀取session
# 讀取session session.get('username')
7、路由
@app.route('/login') def login(): return render_template('login/index.html')
默認(rèn)在 localhost:5000/login,默認(rèn)get訪問
@app.route('/doLogin',methods=['GET', 'POST']) def doLogin(): return LoginC.doLogin()
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。