操作平台Windows Python2.7

安装

pip install flask

Hello World程序

from flask import Flask
app = Flask(__name__) @app.route('/hello') def hello_world():
return "Hello World!!"
if __name__ == '__main__':
app.run()

route装饰器是用于把一个函数绑定到一个 URL 上

主页后面不同的URL

@app.route('/')
def index_page():
return "this is the homepage" @app.route('/hello')
def hello_world():
return "Hello World!!"
@app.route('/user')
def user():
return "this is the userspage"

变量规则

@app.route('/user/<username>')
def show_user_profile(username):
# 显示用户的名称
return 'User %s' % username @app.route('/post/<int:post_id>')
def show_post(post_id):
# 显示提交整型的用户"id"的结果,注意"int"是将输入的字符串形式转换为整型数据
return 'Post %d' % post_id

静态文件放在 static目录中,模板文件放在templates目录下。

from flask import Flask
from flask import render_template
app = Flask(__name__) @app.route('/hello')
@app.route('/hello/<mypara>')
def hello_world(mypara=None):
return render_template('myhello.html',yourcontext=mypara) if __name__ == '__main__':
app.run()

这个py文件有个templates文件夹,里面有一个myhello.html

内容如下

<!doctype html>
<title>Hello from Flask</title>
{% if yourcontext %}
<h1>Hello {{ yourcontext }}!</h1>
{% else %}
<h1>Hello World!</h1>
{% endif %}

yourcontext字符串会替代相关。

一个简单登录网页

本例子效果如下

用户名和密码都正确(tianao)返回

Hello tianao!

否则返回

Hello Invalid username/password!

一共三个文件。主要的py文件,templates目录下的hello.html ,login.html

from flask import Flask
from flask import request
from flask import render_template
app = Flask(__name__)
@app.route('/login', methods=['POST', 'GET'])
def login():
error = None
if request.method == 'POST':
if request.form['username'] == 'tianao' and request.form['password'] == 'tianao':
return render_template('hello.html', name=request.form['username'])
else:
error = 'Invalid username/password'
return render_template('login.html', error=error)
if __name__ == '__main__':
app.run()

  hello.html

<!doctype html>
<title>Hello from Flask</title> {% if name %}
<h1>Hello {{ name }}!</h1>
{% else %}
<h1>Hello World!</h1>
{% endif %}

  login.html

<!doctype html>
<title>Login Page</title>
<form action="../login" method="POST">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" value="submit" />
</form>
{% if error %}
<h1>Hello {{ error }}!</h1>
{% else %}
<h1>Success!</h1>
{% endif %}

  

Python>>>Flask框架使用之入门的更多相关文章

  1. Python之Flask框架项目Demo入门

    Python+Flask框架项目Demo入门 本例子用到了 Flask+蓝图+Flask-Login+SQLAlchemy+WTForms+PyMySQL相关架构 Flask Web框架介绍 Flas ...

  2. Python 什么是flask框架?快速入门

    一:Python flask框架 前言 1.Python 面向对象的高级编程语言,以其语法简单.免费开源.免编译扩展性高,同时也可以嵌入到C/C++程序和丰富的第三方库,Python运用到大数据分析. ...

  3. Linux ubantu中安装虚拟/使用环境virtualenv以及python flask框架

    今天学习了python flask框架的安装过程以及使用案例,感觉网上讲的东西都没有从我们这种初学者的角度去考虑(哈哈),最后还是奉上心得: 1.安装virtualenv $ sudo apt-get ...

  4. python flask框架学习——开启debug模式

    学习自:知了课堂Python Flask框架——全栈开发 1.flask的几种debug模式的方法 # 1.app.run 传参debug=true app.run(debug=True) #2 设置 ...

  5. python flask框架学习(二)——第一个flask程序

    第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...

  6. python flask框架学习(一)——准备工作和环境配置与安装

    Flask装备: 学习自:知了课堂Python Flask框架——全栈开发 1.Python版本:3.6 2.Pycharm软件: 3.安装虚拟环境: (1)安装virtualenv: pip ins ...

  7. #3使用html+css+js制作网页 番外篇 使用python flask 框架 (II)

    #3使用html+css+js制作网页 番外篇 使用python flask 框架 II第二部 0. 本系列教程 1. 登录功能准备 a.python中操控mysql b. 安装数据库 c.安装mys ...

  8. #3使用html+css+js制作网页 番外篇 使用python flask 框架 (I)

    #3使用html+css+js制作网页 番外篇 使用python flask 框架(I 第一部) 0. 本系列教程 1. 准备 a.python b. flask c. flask 环境安装 d. f ...

  9. Python Flask框架路由简单实现

    Python Flask框架路由的简单实现 也许你听说过Flask框架.也许你也使用过,也使用的非常好.但是当你在浏览器上输入一串路由地址,跳转至你所写的页面,在Flask中是怎样实现的,你是否感到好 ...

随机推荐

  1. SSH框架

    一,Struts2框架部署 1,搭建Struts2的jar包 1.1,Struts2所需各个jar包的作用 asm-3.3.jar                                  操 ...

  2. 第二章 搭建Android开发环境

    这一章为我们讲解了如何搭建Android开发环境. 首先要了解的是Android底层开发需要哪些工具:搭建android应用程序开发环境.android NDK开发环境和交叉编译环境,前两个用来测试L ...

  3. Meta http-equiv属性与HTTP头的Expires中(Cache-control)详解

    一.概述 A.http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就 ...

  4. Android Studio下SlidingMenu的导入与基础使用

    一.关于这个控件,其实我们现在很多app都在用,最简单的,你打开QQ,当看资料卡的时候,首先要侧拉一下,那个就是SlidingMenu 这几天查了很多资料,各种方法都试了,但是一直都没有成功,最后在一 ...

  5. struct与union字节大小的终极解释

    1.字节对齐的细节和编译器实现相关,但一般而言,如在windows下,就VC而言,满足一下三个准则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除:2) 结构体每个成员相对于结构体首地址 ...

  6. iOS学习之block

    Block是C语言的扩充功能.带有自动变量(局部变量)的匿名函数.(不带有名称的函数) 非匿名函数:int func(int count):(声明了名称为func的函数)使用:int result = ...

  7. 没有为扩展名.htm注册的生成提供程序,没有为扩展名.html注册的生成提供程序

    在web.config中添加下面这段 代码如下 <buildProviders> <add extension=".html" type="System ...

  8. typedef关键字

    1. typedef的作用 在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异.它本身是一种存储类的关键字,与auto.extern.static.register等关键字不能出现在同 ...

  9. c++11新的小猫腻

    1.void*指针的使用,平时见得也很多了,至于为什么使用void* 指针,很多人有自己的见解,反正普通指针轻轻松松的转向void * 指针,但是void*指针转向其他的指针都要采用强制转换的. 2. ...

  10. HDU 5441 离线处理 + 并查集

    题意:给n个节点m条带权值边的无向图.然后q个问题,每次询问点对的数目,点对需要满足的条件是:1)连通:2)其路径的最大权值不能超过询问值. 分析:如果没次询问一次,dfs一次,很可能超时,因此可以用 ...