flask 如何在python 中使用,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
10年積累的成都做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有大豐免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、文件引入,通過(guò)import引入,有以下幾種方式
from appon.base.baseController import * import cgi import appon.controller.loginController as LoginC
2、python 中用到的session、redirect 等都需要通過(guò) import 引入
3、flask
app = Flask(__name__,template_folder='appon/view/',static_folder="",static_url_path="")
實(shí)例化對(duì)象,第一個(gè)參數(shù)默認(rèn)值,一般不做修改,template_folder 表示模板路徑,默認(rèn)在入口文件同級(jí),可以通過(guò)參數(shù)傳遞的方式修改默認(rèn)模板路徑
app.debug = True
設(shè)置項(xiàng)目為調(diào)試模式,方便開(kāi)發(fā)者在開(kāi)發(fā)過(guò)程中調(diào)試,注:bool值首字母必須大寫(xiě)
app.secret_key = secret_key
該參數(shù)用戶(hù)保護(hù)session數(shù)據(jù),如果不設(shè)置會(huì)報(bào)錯(cuò)
redirect(url_for('home'))
跳轉(zhuǎn)到指定的路徑
render_template('login/index.html')
模板渲染
通過(guò) extends 在模板頁(yè)面中加載通用模板文件,
extends 引入文件時(shí),一個(gè)html 只能使用一次 {% extends "public/header.html" %}
通過(guò) include 在模板頁(yè)面中加載通用模板文件,
include 引入文件時(shí),一個(gè)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ù)庫(kù)連接 conn = mysql.connector.connect(**dbInfo) # 使用 cursor() 方法創(chuàng)建一個(gè)游標(biāo)對(duì)象 cursor cursor = conn.cursor(dictionary = True)
dictionary = True,這個(gè)參數(shù)會(huì)把MySQL數(shù)據(jù)轉(zhuǎn)化為k-v形式
sql具體執(zhí)行過(guò)程可以見(jiàn)源碼文件,需要說(shuō)明的是每次創(chuàng)建連接后,該次sql任務(wù)完成以后需要依次執(zhí)行:sql提交、游標(biāo)關(guān)閉、連接關(guān)閉,然后把數(shù)據(jù)庫(kù)結(jié)果返回給對(duì)應(yīng)的請(qǐng)求方法
5、接收f(shuō)orm表單數(shù)據(jù)
username = request.form['username'] if username == False: return "username is empty"
通過(guò)request.form接收,每個(gè)索引為form表單對(duì)應(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訪(fǎng)問(wèn)
@app.route('/doLogin',methods=['GET', 'POST']) def doLogin(): return LoginC.doLogin()
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。