python flask 練習小結

1、有關源碼已提交到GitHub,源碼地址html

2、一些基礎介紹就跳過了(環境搭建、框架安裝等)python

3、個人練習項目的結構是藉助其餘語言框架的,比較習慣這樣書寫,根據每一個功能不一樣分爲不一樣的文件路徑mysql

4、git

 一、文件引入,經過import引入,有如下幾種方式github

from appon.base.baseController import *

import cgi

import appon.controller.loginController as LoginC

 

二、python 中用到的session、redirect 等都須要經過 import 引入sql

 

三、flask 數據庫

app = Flask(__name__,template_folder='appon/view/',static_folder="",static_url_path="")

實例化對象,第一個參數默認值,通常不作修改,template_folder 表示模板路徑,默認在入口文件同級,能夠經過參數傳遞的方式修改默認模板路徑flask

app.debug = True

設置項目爲調試模式,方便開發者在開發過程當中調試,注:bool值首字母必須大寫session

app.secret_key = secret_key

該參數用戶保護session數據,若是不設置會報錯app

redirect(url_for('home'))

跳轉到指定的路徑

render_template('login/index.html')

模板渲染

經過 extends 在模板頁面中加載通用模板文件,

extends 引入文件時,一個html 只能使用一次

{% extends "public/header.html" %}

經過 include 在模板頁面中加載通用模板文件,

include 引入文件時,一個html 可使用屢次

{% include "public/header.html" %}

模板讀取session數據

{{session['username']}}

 

四、鏈接MySQL

引入MySQL 文件

import mysql.connector
import mysql

 

引入MySQL配置文件

from appon.config.db import *

 

建立MySQL鏈接

# 建立數據庫鏈接
conn = mysql.connector.connect(**dbInfo)

# 使用 cursor() 方法建立一個遊標對象 cursor
cursor = conn.cursor(dictionary = True)

dictionary = True,這個參數會把MySQL數據轉化爲k-v形式

sql具體執行過程能夠見源碼文件,須要說明的是每次建立鏈接後,該次sql任務完成之後須要依次執行:sql提交、遊標關閉、鏈接關閉,而後把數據庫結果返回給對應的請求方法

 

五、接收form表單數據

username = request.form['username']
if username  == False:
    return "username is empty"

經過request.form接收,每一個索引爲form表單對應的字段名,若是不存在則返回 False

 

六、session設置

# 能夠設置session有效期
session.permanent = True
session["username"] = username
session["userid"]   = adminInfo['id']

讀取session

# 讀取session
session.get('username')

 

七、路由

@app.route('/login')
def login():
    return render_template('login/index.html')

默認在 localhost:5000/login,默認get訪問

 

@app.route('/doLogin',methods=['GET', 'POST'])
def doLogin():
    return LoginC.doLogin()

指定訪問方式

相關文章
相關標籤/搜索