Python轻量Web框架Flask使用

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

目录(?)[+]

  1. Flask安装
  2. Python开发工具EclipsePyDev准备
  3. Flask项目框架搭建
  4. MVC模式实例开发
    1. 登录实例

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

5.访问http://localhost:5000/,返回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/<username>")
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

<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>
  • 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

<h1>Hi,{{form.username}}!</h1>
  • 1
  • 1

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

时间: 2024-10-12 22:30:04

Python轻量Web框架Flask使用的相关文章

初识python轻量web框架flask

1.使用pip安装Python包 大多数Python包都使用pip实用工具安装,使用pyvenv创建的虚拟环境会自动安装pip. 1.使用pip安装Flask(其它Python包同理) pip install flask 2.一个简单的Demo from flask import Flask from flask import abort from flask import redirect app = Flask(__name__) @app.route('/') def index(): r

python web框架Flask——csrf攻击

CSRF是什么? (Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用也就是人们所知道的钓鱼网站.尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左.XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站.与XS

Django框架介绍 python三大主流web框架之一

一.学习准备 1.下载安装Django(建议安装1.x版本) 方法:终端cmd输入命令:pip install django==1.11.11  然后回车即可 校验是否安装成功:django-admin 二.纯手撸web框架 1.纯手撸web框架 软件开发架构 c/s架构 b/s架构 本质bs也是cs web后端 需求: 1.根据用户输入不同的后缀返回不同的内容 从符合http协议格式的数据中获取用户输入的后缀 不足之处: 1.socket代码是我们自己写的 2.http数据也是我们自己处理的

2、基于Python下的web框架之中最具有代表性的一个——Django

是,许多成功的网站和app都基于Django(Uber.Instagram),开放源代码,遵从BSD版权,采用MVC的软件设计模式,及模型M,视图V和控制器C. (BSD:伯克利软件发行版,开源许可协议,保护原始作者的身份,至少得到身份认可,还可以防止其它人将产品据为己有) 如何使用django orm批量创建数据? def bulk_create(self, objs, batch_size=None):     # 批量插入     # batch_size表示一次插入的个数     obj

python 全栈 web框架 Django进阶

django 进阶 基础中,一些操作都是手动创建连接的非主流操作,这样显得太low,当然也是为了熟悉这个框架! 实际中,django自带连接数据库和创建app的机制,同时还有更完善的路由系统机制.既然基础已经了解,那就聊聊主流的东西. 一.web框架重新认知: 既然都是框架,那肯定是都包含了这些模块和对应的功能!但是不同框架之间也是有些诧异,毕竟封装的方法不同. Django: - 路由(url路由系统) - 视图(视图函数) - 模板(模版页面) - 数据库 ---> ORM(类-表:对象-行

web请求响应过程与python主流三大web框架

web请求流程: 首先一个浏览器通过http协议发送一个请求,到我们的服务器,首先是wsgiref接收这个请求,并且解析这个请求中的数据,并将这个数据全部解析成一个env的大字典,wsgiref封装的就是socket连接和数据解析的功能,解析之后得到数据,就能知道浏览器的请求是什么,然后拿着请求类型和urls中的路由与视图函数映射关系获取到到低是要哪个视图,匹配成功之后,再到views.py的具体的视图中去,执行这个具体的特定的视图函数,这个视图函数在执行的过程中,需要首先到templates中

python 全栈 web框架 Django基本操作

django 操作总结! django框架安装: cmd安装: pip3 install django pycharm安装: 在python变量下 搜索 django 安装 创建django项目: cmd下创建django项目: 创建django程序: django-admin startproject mysite 进入程序目录: cd mysite 启动socket服务端,等待用户发送请求 IP 端口 python manage.py runserver 127.0.0.1:8080 pyc

Android轻量缓存框架--ASimpleCache

[转] 大神真面目 稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 编辑推荐: 做Android应用开发的同学们相信对“缓存”这个词不陌生,缓存可能有多方面的概念,这里大概列举下程序开发的缓存大概有哪些: 1.服务端控制缓存 如volley请求库,便是通过服务端的“Cache-Control”和“max-age”来告诉客户端有没有缓存以及缓存的时间,也是推荐的使用

IIS 部署 python web框架 Flask

IIS的安装就不说了吧,然后运行:inetmgr ,打开iis管理器,打开 Web平台安装程序,(如果没有,百度下载安装一下吧),然后是安装--IIS:CGI 这个包. 接下来,添加网站,添加处理程序模块映射: 这里一定要进入网站控制台内的"处理程序映射",不要在IIS控制台直接进入,不然创建的FastCGI会对所有网站生效 右面点击"添加模块映射",具体内容如下,python路径|wfastcig.py文件的路径. 可执行文件一栏输入"python程序&