初次使用flask
以写的一个小的例子来记录第一次使用:
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的更多相关文章
- Python 6 -- 构建一个Web应用
用Flask Web框架,实现浏览器页面交互.在此之前需要了解web的基本工作流程,可参照https://blog.csdn.net/m0_37466453/article/details/72752 ...
- 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是一 ...
- Flask:初次使用Blueprints
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2,Eclipse Oxygen.1a Release (4.7.1a),PyDev 6.3.2 本文为记录自己第一次使用 ...
- flask初次搭建rest服务笔记
官网中有用的记录一下,太多只是记录了最简单的官网docs:http://flask.pocoo.org/docs/0.12/ 跑起来一个程序 $ export FLASK_APP=hello.py $ ...
- 用docker toolBox 搭建 nginx + flask + redis 环境
本篇博客,主要是了解一下docker-compose的使用,docker-compose是官方给出的同时部署多个容器的解决方案:当你需要多个容器同时运行作为你的解决方案时:比如构建一个网站,需要php ...
- flask 程序结构概括
以此结构为例,这个小项目是<Flask Web开发:基于python的web应用开发实战>第一部分结束后的代码框架 第一层 有app.tests.migrations三个文件夹和confi ...
- Nginx+uwsgi+supervisor+Ubuntu+flask
Nginx+uwsgi+supervisor+Ubuntu+flask Nginx+uwsgi+supervisor在Ubuntu上部署flask应用 网上找了许多讲关于Flask应用部署的文章几乎都 ...
- 【Flask】 使用Flask-Moment进行日期时间的管理
Flask-Moment Flask-Moment又是一个flask的扩展模块,用来处理时间日期等信息.用这个模块主要是考虑到两点,第一是为了让不同时区的用户看到的都是各自时区的实际时间,而不是服务器 ...
- 基于windows环境的Flask网站搭建(mysql + conda + redis)
1下载mysql-installer-community-5.7.24.0.msi (https://dev.mysql.com/downloads/windows/installer/8.0.htm ...
随机推荐
- CSS元素的显示与隐藏
CSS元素的显示与隐藏 我们访问某些网站的时候,经常可以看到一些广告弹出来,点击关闭就不见了,但是重新刷新页面后,广告又会重新弹出来.这就是元素的显示和隐藏的一个应用. 1. display属性 di ...
- python 编写名字管理系统
1 #打印功能提示 2 print('='*50) 3 print(' 名字管理系统 v1.1') 4 print('1.添加新的名字') 5 print('2.删除一个名字') 6 print('3 ...
- pytest文档58-随机执行测试用例(pytest-random-order)
前言 通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果. pytest默认运行用例的顺序是按模块和用例命名的 ASCII 编码 ...
- HDU-1051 Wooden Sticks--线性动归(LIS)
题目大意:有n根木棍(n<5000),每根木棍有一个长度l和重量w(l,w<10000),现在要对这些木头进行加工,加工有以下规则: 1.你需要1分钟来准备第一根木头. 2.如果下一根木头 ...
- 利用Image对象,建立Javascript前台错误日志记录
手记:摘自Javascript高级程序设计(第三版),利用Image对象发送请求,确实有很多优点,有时候这也许就是一个创意点,再次做个笔记供自己和大家参考. 原文: 开发 Web 应用程序过程中的一种 ...
- windows 快速安装Python3.7.2
1.官方下载地址:https://www.python.org/downloads/release/python-372/ 其他地址:http://www.uzzf.com/soft/449550.h ...
- 【Azure微服务 Service Fabric 】因证书过期导致Service Fabric集群挂掉(升级无法完成,节点不可用)
问题描述 创建Service Fabric时,证书在整个集群中是非常重要的部分,有着用户身份验证,节点之间通信,SF升级时的身份及授权认证等功能.如果证书过期则会导致节点受到影响集群无法正常工作. 当 ...
- 性能测试之JVM的故障排查-死锁
死锁原因 Java发生死锁的根本原因是:在申请锁时发生了交叉闭环申请.即线程在获得了锁A并且没有释放的情况下去申请锁B,这时,另一个线程已经获得了锁B,在释放锁B之前又要先获得锁A,因此闭环发生,陷入 ...
- python提取视频第一帧图片
一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...
- js逻辑程序
JavaScript 是 Web 的编程语言. 所有现代的 HTML 页面都使用 JavaScript. JavaScript 非常容易学. 本教程将教你学习从初级到高级 JavaScript 知识. ...