以写的一个小的例子来记录第一次使用:

from flask import Flask, render_template
import json # 实例化,可视为固定格式
app = Flask(__name__) # route()方法用于设定路由;类似spring路由配置
@app.route('/hello/bing')
def hello_world():
nv = ["fengjie", "村头王大妈"]
data = {}
data['name'] = "Bing"
data["justTryTry"] = "yes"
data["girlsLike"] = nv
return json.dumps(data, ensure_ascii=False) @app.route('/hello/<name>')
def hello_world1(name):
return "hello {}".format(name) @app.route('/hello/yyy')
def hello_world2():
nv = ["fengjie", "村头王大妈"]
data = {}
data['name'] = "Bing"
data["justTryTry"] = "yes"
data["girlsLike"] = nv
return render_template('bing.html', data=data) if __name__ == '__main__':
host = "localhost"
port = 8080
app.run(host, port)
# 默认值:host=127.0.0.1, port=5000, debug=false
app.run()

1、路由(使用 route() 装饰器来把函数绑定到 URL):

@app.route('/hello/bing')

2、传递json数据

@app.route('/hello/bing')
def hello_world():
nv = ["fengjie", "村头王大妈"]
data = {}
data['name'] = "Bing"
data["justTryTry"] = "yes"
data["girlsLike"] = nv
return json.dumps(data, ensure_ascii=False)

字典与json间的转换

json.loads(json_str) json字符串转换成字典
json.dumps(dict) 字典转换成json字符串 为了传递过去的中文不出现乱码,在json.dumps增加参数(ensure_ascii=False)

json.dumps(data, ensure_ascii=False)

3、变量规则(通过把 URL 的一部分标记为 <variable_name> 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数):

@app.route('/hello/<name>')
def hello_world1(name):
return "hello {}".format(name)

这时访问127.0.0.1:/8080/hello/xxx,则浏览器会返回内容hello xxx

4、渲染模板(在 Python 内部生成 HTML 不好玩,且相当笨拙。因为你必须自己负责 HTML 转义, 以确保应用的安全。因此, Flask 自动为你配置 Jinja2 模板引擎。

@app.route('/hello/yyy')
def hello_world2():
nv = ["fengjie", "村头王大妈"]
data = {}
data['name'] = "Bing"
data["justTryTry"] = "yes"
data["girlsLike"] = nv
return render_template('bing.html', data=data)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>女朋友</title>
</head>
<body>
<table border = 1 align="center">
{% for key, value in data.items() %}
<tr>
<td>{{key}}</td>
<td>{{value}}</td>
</tr>
{% endfor %}
</table>
</body>
</html>

使用 render_template() 方法可以渲染模板,你只要提供模板名称和需要 作为参数传递给模板的变量就行了,本例传递  字典data到bing.html,在html中取出传递过来的data数据并显示。

Flask 会在 templates 文件夹(bing.html放在改文件夹下)内寻找模板。因此,如果你的应用是一个模块, 那么模板文件夹应该在模块旁边;如果是一个包,那么就应该在包里面



初次使用flask的更多相关文章

  1. Python 6 -- 构建一个Web应用

    用Flask Web框架,实现浏览器页面交互.在此之前需要了解web的基本工作流程,可参照https://blog.csdn.net/m0_37466453/article/details/72752 ...

  2. Flask:初次使用Flask-SQLAlchemy读取SQLite3

    Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2,Eclipse Oxygen.1a Release (4.7.1a),PyDev 6.3.2 SQLAlchemy是一 ...

  3. Flask:初次使用Blueprints

    Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2,Eclipse Oxygen.1a Release (4.7.1a),PyDev 6.3.2 本文为记录自己第一次使用 ...

  4. flask初次搭建rest服务笔记

    官网中有用的记录一下,太多只是记录了最简单的官网docs:http://flask.pocoo.org/docs/0.12/ 跑起来一个程序 $ export FLASK_APP=hello.py $ ...

  5. 用docker toolBox 搭建 nginx + flask + redis 环境

    本篇博客,主要是了解一下docker-compose的使用,docker-compose是官方给出的同时部署多个容器的解决方案:当你需要多个容器同时运行作为你的解决方案时:比如构建一个网站,需要php ...

  6. flask 程序结构概括

    以此结构为例,这个小项目是<Flask Web开发:基于python的web应用开发实战>第一部分结束后的代码框架 第一层 有app.tests.migrations三个文件夹和confi ...

  7. Nginx+uwsgi+supervisor+Ubuntu+flask

    Nginx+uwsgi+supervisor+Ubuntu+flask Nginx+uwsgi+supervisor在Ubuntu上部署flask应用 网上找了许多讲关于Flask应用部署的文章几乎都 ...

  8. 【Flask】 使用Flask-Moment进行日期时间的管理

    Flask-Moment Flask-Moment又是一个flask的扩展模块,用来处理时间日期等信息.用这个模块主要是考虑到两点,第一是为了让不同时区的用户看到的都是各自时区的实际时间,而不是服务器 ...

  9. 基于windows环境的Flask网站搭建(mysql + conda + redis)

    1下载mysql-installer-community-5.7.24.0.msi (https://dev.mysql.com/downloads/windows/installer/8.0.htm ...

随机推荐

  1. C# 用IrisSkin4.dll美化你的WinForm

    如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! --------------------------- ...

  2. 在实际开发中Java中enum的用法

    在日常项目的开发中,往往会存在一些固定的值,而且"数据集"中的元素是有限的. 例如:st_code// 一些状态机制:01-激活  02-未激活  03 -注册..等等 还有一特性 ...

  3. 2014年 实验一  C2C个人拍卖

    实验一  C2C个人拍卖 --实战淘宝 [实验目的] 掌握网上拍卖的基本流程和拍卖平台的运营 [实验条件]⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. ⑶.常用浏览器. [知识准备] 本实 ...

  4. 多测师讲解RF自动化测试实现流程_高级讲师肖sir

    1.环境搭建过程?­­整套环境需要哪些工具包,以及工具包的作用?因为我搭建的RF框架是基于Python的,所以肯定要先安装Python,python安装完之后,开始安装自动化测试框架rf3.0-在do ...

  5. vs code 编译python 输出到调试控制台

    如图所示,在debug菜单中点击齿轮按钮,进入launch.json,更改console选项的值(有三种) "console": "internalConsole&quo ...

  6. 【C语言编程入门笔记】排序算法之快速排序,一文轻松掌握快排!

    排序算法一直是c语言重点,各个算法适应不用的环境,同时,在面试时,排序算法也是经常被问到的.今天我们介绍下快速排序,简称就是快排. 1.快速排序思想: 快排使用 分治法 (Divide and con ...

  7. 第十二章 Linux三剑客之老三—grep

    一.Linux grep 命令用于查找文件里符合条件的字符串. Linux系统中的grep命令是一种功能强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global ...

  8. Python函数的定义和参数

    函数的初识: 以功能为导向,一个函数就是一个功能.随调随用. 优点: 减少代码重复性. 增强代码的可读性. 函数的结构: def function_name(): 函数体 ​ def: 关键字,定义函 ...

  9. JavaSE学习笔记03流程控制

    Java流程控制 1.顺序结构 java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句往下执行. 顺序结构是最简单的算法结构,它是任何一个算法都离不开的一种基本算法结构. 2. 选择结构 ...

  10. 算法初步(julyedu网课整理)

    date: 2018-11-19 13:41:29 updated: 2018-11-19 14:31:04 算法初步(julyedu网课整理) 1 O(1) 基本运算 O(logn) 二分查找 分治 ...