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()

指定访问方式

相关文章
相关标签/搜索