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()
指定访问方式