溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

flask 如何在python 中使用

發(fā)布時間:2021-06-15 11:38:47 來源:億速云 閱讀:302 作者:Leah 欄目:大數(shù)據(jù)

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è)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(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)容。

AI