博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python轻量Web框架Flask使用
阅读量:6873 次
发布时间:2019-06-26

本文共 3070 字,大约阅读时间需要 10 分钟。

http://blog.csdn.net/jacman/article/details/49098819

 

目录

 

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

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

 

Flask安装

1.安装Python3   从Python的官方网站下载Python 3.4对应的64位安装程序或32位安装程序(网速慢的同学请移步国内镜像)   64位:   32位:   国内镜像:   安装时,要选择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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Python开发工具Eclipse+PyDev准备

1.下载PythonDev插件    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 flashapp = Flask(__name__)from app import views
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

run.py创建启动脚本

from app import appapp.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

这里写图片描述

5.访问,返回hello,world

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 Formfrom wtforms import TextField,PasswordFieldfrom 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://www.cnblogs.com/kungfupanda/p/5525700.html

你可能感兴趣的文章
myeclipse从svn检出代码转成maven后格式有误解决方法
查看>>
F.Cards with Numbers
查看>>
Learn Python 004: string slicing
查看>>
[转载] 教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
checkbox复选框的一些深入研究与理解
查看>>
简单入门Buffer
查看>>
【HDU】6110 路径交(2017百度之星) 线段树+RMQ-LCA+树链的交
查看>>
自定义Attribute 服务端校验 客户端校验
查看>>
Java锁系列|Java锁体系(一)
查看>>
SDN第四次作业
查看>>
HTML5之本地存储SessionStorage
查看>>
c语言学习之基础知识点介绍(三):scanf函数
查看>>
python lambda
查看>>
ubuntu配置caffe的python接口pycaffe
查看>>
C#--笔记
查看>>
[题集]一些有趣的问题
查看>>
[HNOI2010]城市建设
查看>>
系统设计 样题
查看>>
Paint House II
查看>>
[转]进程与线程的一个简单解释
查看>>