[转载] Python轻量Web框架Flask使用

参考链接: Python | 使用Flask进行Web开发简介

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模式实例开发

          登录实例     

  

 

 

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 

登录实例 

我们通过一个登录的例子来展示完整的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 

个人技术分享微信公众号,欢迎关注一起交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值