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. rcc

    一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL.   全名: high  speed  external ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高 ...

  2. Iterator之java.util.ConcurrentModificationException

    在运行以下代码时,会报java.util.ConcurrentModificationException异常, public class Demo { public static void main( ...

  3. Python 安全类目推荐 (持续更新)

    推荐学习书目 › Learn Python the Hard Way › Python 学习手册 › Python Cookbook › Python 基础教程 Python Sites › PyPI ...

  4. GIT之二 基础篇(1)

    GIT基础 取得项目的 Git 仓库 有两种取得 Git 项目仓库的方法.第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库.第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来. 在 ...

  5. HDU 4986

    http://acm.hdu.edu.cn/showproblem.php?pid=4986 题意:n个钥匙放在n个箱子里,每个钥匙和箱子一一对应,求打开所有箱子的期望 题解: 题意: 求随机排列的期 ...

  6. jquery-ui 进度条

    <!DOCTYPE html> <html> <head> <meta charset="utf8" /> <title> ...

  7. js缓速运动

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  8. 解决load 函数无法赋予变量名的问题

    以前非常喜欢使用load函数,因为简单,而且存储相对较大的matrix.list文件更为方便.但是load函数有一个问题是在使用其过程中无法对其载入的data赋予变量名: # save data x ...

  9. 文件转换神器Pandoc使用

    最近记录笔记,改用Markdown格式.但有时需要分享下笔记,对于不懂markdown格式的同学来说阅读感觉不是那么友好.因此就一直在寻找一款文件转换的软件,之前因为用markdownpad来编写,可 ...

  10. 提示gtk错误,无法打开便器器(sudo gedit filename失败)

    解决方法:安装gtksource,命令 sudo apt-get install gir1.2-gtksource-3.0