初次使用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 ...
随机推荐
- Systemd的权威用法【译】
如何使用journalctl 来观察和操作systemd的日志 介绍 systemd的一些不错的有点就是它能涉及到进程的系统的日志.对于其他日志工具,日志通常被分布到整个系统中,由不同的daemon和 ...
- Metasploit简单使用——后渗透阶段
在上文中我们复现了永恒之蓝漏洞,这里我们学习一下利用msf简单的后渗透阶段的知识/ 一.meterperter常用命令 sysinfo #查看目标主机系统信息 run scraper #查看目标主机详 ...
- 【总结】Oracle数据库 查看表空间和增加表空间
一.Oracle查看 表空间 的名称及其大小 查看 表空间的名称及其大小的SQL语句: select t1.tablespace_name,round(sum(bytes/(1024*1024)),0 ...
- ansible-介绍
常用自动化运维工具 CFengine Chef Puppet 基于Ruby开发,采用C/S架构,扩展性强,基于SSL认证 SaltStack 基于python开发,采用C/S架构,相对于puppet更 ...
- 多测师讲解html _有序列表005_高级讲师肖sir
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>有 ...
- Java 10 种常用第三方服务
严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...
- centos8平台使用rz/sz上传下载文件
一,rz/sz的用途 1,rz,sz是Linux/Unix服务器同客户端通过ZModem进行文件传输的命令行工具 说明:客户端需要使用支持ZModem的telnet/ssh客户端(比如windows平 ...
- centos 安装docker方法2
1 更新yum yum -y update 2 执行命令 linux 安装dockersudo wget -qO- https://get.docker.com | sh解释如下sudo 使用root ...
- <转>二十问全链路压测干货汇总(上)
本文转载自:微信公众号-数列科技<二十问全链路压测干货汇总(上)> 最近几年全链路压测无疑成为了一个热门话题,在各个技术峰会上都可以看到它的身影. 一些大型的互联网公司,比如阿里巴巴.京东 ...
- mysql explain 查询处理的结果详解
本文转自 https://blog.csdn.net/boss_way/article/details/91416887 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这 ...