Python轻量Web框架Flask使用

Python语言近些年愈来愈火,其特色是开发迅速,语法简单,可移植等。本人就Python3基础语法写了Demo:https://github.com/tangthis/python3_demo,能够看成基础教程和手册查阅。css

Python Web开发框架经常使用的包括Django,Flask,Tornado,Bottle,web.py,Quixote等。Django功能比较全面,比较重,相对来讲,Flask更加轻巧,适合新手学习和上手。下面介绍下Flask基本使用,包括如下内容:html

 

 

Flask安装

1.安装Python3 
  从Python的官方网站下载Python 3.4对应的64位安装程序或32位安装程序(网速慢的同窗请移步国内镜像) 
  64位:https://www.python.org/ftp/python/3.4.3/python-3.4.3.amd64.msi 
  32位:https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi 
  国内镜像:http://pan.baidu.com/s/1sjqOkFF 
  安装时,要选择pip和Add python.exe to Path选项,以下图 
  这里写图片描述 
2.安装Flask框架 
  打开命名行窗口,执行下面命令python

  pip install flask   pip install flask-login   pip install flask-openid   pip install flask-sqlalchemy   pip install sqlalchemy-migrate   pip install flask-whooshalchemy   pip install flask-wtf   pip install flask-babel   pip install flup

 

Python开发工具Eclipse+PyDev准备

1.下载PythonDev插件 
  http://sourceforge.net/projects/pydev/ 
2.解压pydev插件后,会发现有features、plugins两个文件夹,而后把features文件夹下的文件移到D:\dev\eclipse\features目录下,把plugins文件夹下的文件移到D:\dev\eclipse\plugins目录下 
3.重启eclipse,在windows->preferences出现PyDev配置项,表示PyDev插件安装成功 
4.配置PyDev 
windows->preferences->PyDev->Interpreter - Python,New一个Python解释器,填上解释器名字和路径,路径选相应的python.exe 
这里写图片描述 
这里写图片描述 
至此,PyDev配置完了git

Flask项目框架搭建

1.新建Python项目 
File->New->PyDev Project 
2.新建项目结构文件夹 
这里写图片描述 
app–根目录 
  static–静态资源目录,图片,js,css等 
  templates–模板 
  _init_.py–初始化脚本 
  views.py–视图控制器 
tmp–临时文件夹 
run.py–项目启动程序 
3.经过Flask,建立神奇的Hello World程序 
_init_.py建立Flask实例github

from flask import flash app = Flask(__name__) from app import views

 

run.py建立启动脚本web

from app import app app.run(debug = True)

在app目录下,建立views.py,加入下面代码sql

from app import app @app.route("/") def index(): return "hello,world!"

 

4.启动程序express

python run.py

 

这里写图片描述

5.访问http://localhost:5000/,返回hello,worldflask

MVC模式实例开发

Controller使用介绍 
拦截/index请求windows

@app.route("/index") def index(): return 'index'

拦截Post或者Get方法

@app.route("/index",methods = ['GET']) def index(): return 'index'

Restful支持

@app.route("/index/<username>") def index(username): return username

登陆实例

咱们经过一个登陆的例子来展现完整的MVC流程 
1.建立LoginForm登陆表单 
app->新建forms.py,继承Flask Form类

from flask.ext.wtf import Form from wtforms import TextField,PasswordField from wtforms.validators import Required,Length class LoginForm(Form): username= TextField('username',validators = [Required()]) password = PasswordField('username',validators = [Required()])

2.登陆页面login.html 

app->template->新建login.html

<h1>登陆</h1> <form action="" method="post" name="login"> <p> 请输入用户名:<br> {{form.username(size=30)}}<br> </p> <p> 请输入用户名:<br> {{form.password(size=30)}}<br> </p> <p><input type="submit" value="登陆"></p> </form>

3.登陆控制器Controller

from app import app @app.route('/login',methods = ['GET' , 'POST']) def login(): #接收参数 form = LoginForm() #提交验证 if form.validate_on_submit(): #打印(ps:验证逻辑自行补上) print('username:' + form.username.data + ',password:' + form.password.data) #返回到index.html页面 return render_template('index.html',form = form) #未提交 return render_template('login.html',form = form) 

 

4.登陆成功页面index.html

经过上面几步,一个使用Flask开发的简单的登陆逻辑完成,能够看出来开发效率之高。更多Flask内容,请下载github微博Weibo实例源码 <h1>Hi,{{form.username}}!</h1>

github源码:https://github.com/tangthis/Weibo

相关文章
相关标签/搜索