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()
指定訪問方式