Python轻量Web框架Flask使用
2015-10-13 17:36
1106 查看
Python语言近些年越来越火,其特点是开发迅速,语法简单,可移植等。本人就Python3基础语法写了Demo:https://github.com/tangthis/python3_demo,可以当作基础教程和手册查阅。
Python Web开发框架常用的包括Django,Flask,Tornado,Bottle,web.py,Quixote等。Django功能比较全面,比较重,相对来说,Flask更加轻巧,适合新手学习和上手。下面介绍下Flask基本使用,包括以下内容:
Flask安装
Python开发工具EclipsePyDev准备
Flask项目框架搭建
MVC模式实例开发
登录实例
从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框架
打开命名行窗口,执行下面命令
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配置完了
File->New->PyDev Project
2.新建项目结构文件夹
app–根目录
static–静态资源目录,图片,js,css等
templates–模板
_init_.py–初始化脚本
views.py–视图控制器
tmp–临时文件夹
run.py–项目启动程序
3.通过Flask,创建神奇的Hello World程序
_init_.py创建Flask实例
run.py创建启动脚本
在app目录下,创建views.py,加入下面代码
4.启动程序
5.访问http://localhost:5000/,返回hello,world
拦截/index请求
拦截Post或者Get方法
Restful支持
[b]登录实例[/b]
我们通过一个登录的例子来展示完整的MVC流程
1.创建LoginForm登录表单
app->新建forms.py,继承Flask Form类
2.登录页面login.html
app->template->新建login.html
3.登录控制器Controller
4.登录成功页面index.html
通过上面几步,一个使用Flask开发的简单的登录逻辑完成,可以看出来开发效率之高。更多Flask内容,请下载github微博Weibo实例源码
github源码:https://github.com/tangthis/Weibo
个人技术分享微信公众号,欢迎关注一起交流
Python Web开发框架常用的包括Django,Flask,Tornado,Bottle,web.py,Quixote等。Django功能比较全面,比较重,相对来说,Flask更加轻巧,适合新手学习和上手。下面介绍下Flask基本使用,包括以下内容:
Flask安装
Python开发工具EclipsePyDev准备
Flask项目框架搭建
MVC模式实例开发
登录实例
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框架
打开命名行窗口,执行下面命令
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配置完了
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实例
from flask import flash app = Flask(__name__) from app import views
run.py创建启动脚本
from app import app app.run(debug = True)
在app目录下,创建views.py,加入下面代码
from app import app @app.route("/") def index(): return "hello,world!"
4.启动程序
python run.py
5.访问http://localhost:5000/,返回hello,world
MVC模式实例开发
Controller使用介绍拦截/index请求
@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
[b]登录实例[/b]
我们通过一个登录的例子来展示完整的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
<h1>Hi,{{form.username}}!</h1>
通过上面几步,一个使用Flask开发的简单的登录逻辑完成,可以看出来开发效率之高。更多Flask内容,请下载github微博Weibo实例源码
github源码:https://github.com/tangthis/Weibo
个人技术分享微信公众号,欢迎关注一起交流
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 如何使用 Flask 编写 Python Web API
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例