当前位置:   article > 正文

python网站开发实例 flask_Python轻量Web框架Flask使用(示例代码)

flask python 示例

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

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

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选项,如下图

20151013153812697 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

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

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

20151013155249666

20151013155304902 至此,PyDev配置完了

Flask项目框架搭建

1.新建Python项目 File->New->PyDev Project 2.新建项目结构文件夹

20151013164802518 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

1

2

3

1

2

3

run.py创建启动脚本

from app import app

app.run(debug = True)

1

2

1

2

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

from app import app

@app.route("/")

def index():

return "hello,world!"

1

2

3

4

1

2

3

4

4.启动程序

python run.py

1

1

20151013164918851

MVC模式实例开发

Controller使用介绍 拦截/index请求

@app.route("/index")

def index():

return ‘index‘

1

2

3

1

2

3

拦截Post或者Get方法

@app.route("/index",methods = [‘GET‘])

def index():

return ‘index‘

1

2

3

1

2

3

Restful支持

@app.route("/index/")

def index(username):

return username

1

2

3

1

2

3

登录实例

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

1

2

3

4

5

6

1

2

3

4

5

6

2.登录页面login.html app->template->新建login.html

登录

请输入用户名:

{{form.username(size=30)}}

请输入用户名:

{{form.password(size=30)}}

1

2

3

4

5

6

7

8

9

10

11

12

1

2

3

4

5

6

7

8

9

10

11

12

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)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

1

2

3

4

5

6

7

8

9

10

11

12

13

14

4.登录成功页面index.html

Hi,{{form.username}}!

1

1

通过上面几步,一个使用Flask开发的简单的登录逻辑完成,可以看出来开发效率之高。更多Flask内容,请下载github微博Weibo实例源码 github源码:https://github.com/tangthis/Weibo

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/504982?site
推荐阅读
相关标签
  

闽ICP备14008679号