Flask是一个使用 Python 编写的轻量级 Web 应用框架。
下面我将使用Flask框架,创建一个简单的html页面示例。

1.项目的目录结构如下所示:
exweb\
  uniqueenv\
  app.py
  templates\

      base.html

      hello_form.html
                 index.html

2.创建网站根目录exweb
mkdir exweb

3.在网站根目录下创建一个虚拟环境,虚拟环境是主python的一份拷贝,好处是你可以只安装flask包到该虚拟目录,你的主python不会受到影响,另一个好处是你不需要再有root权限
cd exweb
virtualenv uniqueenv

4.安装flask
uniqueenv/bin/pip install flask

5.flask使用,app.py代码如下

#-*- coding: UTF-8 -*-
from flask import Flask,render_template,request
from flask.ext.wtf import Form
from wtforms import TextField, BooleanField, TextAreaField
from wtforms.validators import Required, Length app = Flask(__name__) #CSRF_ENABLED 配置是为了激活 跨站点请求伪造 保护
app.config['CSRF_ENABLED']=True
app.config['SECRET_KEY']='xxx' #form表单类
class HelloForm(Form):
name = TextField('name',validators = [Required()])
greet=TextField('greet',validators=[Required()]) @app.route('/',methods=['GET','POST'])
def index():
#get方式提交,若url参数不为空,直接跳转到显示界面
name = request.args.get('name')
greet = request.args.get('greet')
if name!='' and name!=None and greet!='' and greet!=None:
greeting="%s,%s"%(name,greet)
return render_template('index.html',
title=u'显示信息',
greeting = greeting) #否则为post方式提交表单,跳转到输入信息界面
form = HelloForm()
if form.validate_on_submit():
greeting="%s,%s"%(form.name.data,form.greet.data)
return render_template('index.html',
title=u'显示信息',
greeting = greeting)
return render_template('hello_form.html',
title=u'输入信息',
form = form) app.run(debug=True)

6.上一步我们从 Flask 框架中导入一个名为 render_template 的新函数,在内部,render_template 调用了 Jinja2 模板引擎,Jinja2 会把模板参数提供的相应的值替换 {{...}} 块。
模板放在templates文件夹下.
mkdir templates

首先创建一个基础模板页 base.html

<html>
<head>
<title>{{title}}</title>
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>

输入信息页 hello_form.html

{% extends "base.html" %}                                                                                                 

{% block content %}
<h1>Fill out this form</h1>
<form action="" method="POST">
{{form.hidden_tag()}}
A Greeting:
{{form.greet(size=30,maxlength=140)}}
<br/>
Your Name:
{{form.name(size=30,maxlength=140)}}
<br/>
<input type="submit">
</form>
{% endblock %}

显示信息页 index.html

{% extends "base.html" %}                                                                                                                            

{% block content %}
{%if greeting:%}
I just wanted to say <em style="color:green;font-size:2em;">{{greeting}}</em>
{%endif%}
{% endblock %}

7.运行:uniqueenv/bin/python app.py

注意运行的时候要使用虚拟目录中的python解释器

8.结果:

(1)Get方式

(2)Post方式

python--flask使用的更多相关文章

  1. AFNetworking+Python+Flask+pyOpenSSL构建iOS HTTPS客户端&服务器端

    对于HTTPS我在网上找了一堆资料看了下, 各种协议和证书已经有点晕了 最后我现有的感觉是, 在HTTP服务器上放一个证书, 在原本的HTTP访问之前客户端先检查证书是否正确 如果客户端证书检查正确, ...

  2. python flask detect browser language

    python flask detect browser language   No problem. We won't show you that ad again. Why didn't you l ...

  3. Error generating Swagger server (Python Flask) from Swagger editor

    1down votefavorite   http://stackoverflow.com/questions/36416679/error-generating-swagger-server-pyt ...

  4. windows下python+flask环境配置详细图文教程

    本帖是本人在安装配置python和flask环境时所用到的资源下载及相关的教程进行了整理罗列,来方便后面的人员,省去搜索的时间.如果你在安装配置是存在问题可留言给我. 首先罗列一下python+fla ...

  5. [Python][flask][flask-login]关于flask-login中各种API使用实例

    本篇博文跟上一篇[Python][flask][flask-wtf]关于flask-wtf中API使用实例教程有莫大的关系. 简介:Flask-Login 为 Flask 提供了用户会话管理.它处理了 ...

  6. python+flask+mongodb+whoosh实现自己的搜索引擎(一):目录

    python+flask+jieba+mongodb+whoosh实现自己的搜索引擎 一.目录 二.基于python的爬虫 三.网页去燥,URL去重 四.基于mongodb的数据存储 五.基于whoo ...

  7. 使用wfastcgi在IIS上部署Python Flask应用

    本文介绍了如何在Windows上部署Python Flask应用,相关环境如下: 操作系统:windows 7 Python:3.4 WFastCGI: 2.2 应用所用到的包版本如下: Flask= ...

  8. 使用python+flask让你自己api(教程源代码)

    1.背景 ok,这可能是很多朋友和我一样经常使用的各种api,例facebook的.github的.甚至微信api.因此,很多人都想使自己的api.在线教程在这方面它是非常小的,今天,我做了一个平稳, ...

  9. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

  10. Taffy Web开发,Python Flask实践详解

    1. 前言 最近为Taffy自动化测试框架写了个页面,主要实现了用例管理.执行,测试报告查看管理.发送邮件及配置等功能. 2. 实现细节 页面使用Python Flask +Bootstrap开发,还 ...

随机推荐

  1. C++数据结构之Linked Stack(链式栈)

    上一节用连续的方式实现栈,这种方法用一个确定大小的数组存储栈元素,因为当存储达到数组上限时会遇到麻烦. 连续实现的栈与链式实现的栈的最大不同在于,前者使用一个确定大小的数组存储每一个栈元素,后者使用带 ...

  2. android自动化测试解决跨进程通信问题

    大概用这些吧: IPC  Handler    Messager   Bundle  service(binder)   messageconnection ,thead.getXXX.getId 注 ...

  3. GridView导出Excel

    public void OUTEXCEL() { DataSet ds = new GW_T_DemandDAL().GetWzH(GetPersonInfoData(UserInfo), Reque ...

  4. iOS多线程之NSOperation,NSOperationQueue

    使用 NSOperation的方式有两种, 一种是用定义好的两个子类: NSInvocationOperation 和 NSBlockOperation. 另一种是继承NSOperation 如果你也 ...

  5. KochSnow曲线

    在这里实现了Koch曲线,而且提到我们只需要对一个等边三角形的各条边按照Koch曲线的算法进行绘图就能得到KochSnow曲线,将其实现到之前提到的绘图框架中,考虑到KochSnow的实现主要依赖Ko ...

  6. codeforces Educational Codeforces Round 16-E(DP)

    题目链接:http://codeforces.com/contest/710/problem/E 题意:开始文本为空,可以选择话费时间x输入或删除一个字符,也可以选择复制并粘贴一串字符(即长度变为两倍 ...

  7. Windows系统定时重开或者关机

    at 6:00 /every:M,T,W,Th,F,S,Su cmd /c shutdown -r -t 60 (每天早上6点自动重启一次) at 0:00 /every:M,T,W,Th,F,S,S ...

  8. VS.net中快捷键收缩和展开代码段

    i. Ctrl-M-O   折叠所有方法 ii. Ctrl-M-P   展开所有方法并停止大纲显示(不可以再折叠了) iii. Ctrl-M-M   折叠或展开当前方法 iv. Ctrl-M-L展开所 ...

  9. [转]Golang Gob编码

    Golang Gob编码 2012-08-24 09:47 by 轩脉刃, 5119 阅读, 1 评论, 收藏, 编辑 gob是Golang包自带的一个数据结构序列化的编码/解码工具.编码使用Enco ...

  10. GOLANG 反射法则

    译自[blog.golang.org/laws-of-reflection] 在计算机中, 反射是程序通过类型,检测到它自己的结构能力:是一种元编程程:也是一个具大的混淆点 在本文中,我们将通过解释反 ...