初次使用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和 ...
- Android使用Mono c#分段列表视图
下载source code - 21.7 KB 你想知道如何把多个ListView控件放到一个布局中,但是让它们在显示时表现正确吗 多个列表项?你对它们正确滚动有问题吗?这个例子将向你展示如何组合单独 ...
- AngularJS应用访问Android手机画廊
下载angularjs.zip - 4.5 KB 介绍 本文演示了如何使用AngularJS调用Android应用程序公开的REST api来查看图库. 背景 Android和iOS都有相当多的远程访 ...
- [HAOI 2017]八纵八横
线段树分治+线形基. 线段树分治是个锤子?? 以时间轴构建线段树,把每个环以"对线段树产生影响的时间区间"的形式加入线段树即可. #include<bits/stdc++.h ...
- 腾讯云服务器,使用xshell ssh秘钥登录的时候报错:所选的用户密钥未在远程主机上注册
1.背景 新买了台腾讯云服务器,在腾讯云控制台新建了SSH私钥,然后下载到本地. 在本地使用xshell工具,导入下载好的私钥进行登录,报错:所选的用户密钥未在远程主机上注册 2.解决方案 在确定选择 ...
- 微信小程序适配iPhone X
1.获取设备型号 App({ // 全局数据 globalData: { // 其他数据定义 ... isIPX: false, // 当前设备是否为 iPhone X }, // 小程序启动入口 o ...
- 搭建ipse隧道
我没有太多的物理服务器,实验环境只能用四台装了linux的虚拟机来模拟,用户层工具是openswan.大致拓扑如下(我有点懒,公网地址我用的194.168.10.0/24,别和192.168.xx.x ...
- 多测师讲解a'pi自动化框架设计思想_高级讲师肖sir
API自动化框架API自动化框架分为conf.data.utils.api.testcase.runner.report.log8个模块.conf是用来储存系统环境.数据库.邮件等的配置参数.项目的绝 ...
- vue打包之后在本地运行,express搭建服务器,nginx 本地服务器运行
一.使用http-server 1.安装http-server npm install -g http-server 2.通过命令进入到dist文件夹 3.运行http-server 以上在浏览器输入 ...
- 异步编程新方式async/await
一.前言 实际上对async/await并不是很陌生,早在阮大大的ES6教程里面就接触到了,但是一直处于理解并不熟练使用的状态,于是决定重新学习并且总结一下,写了这篇博文.如果文中有错误的地方还请各位 ...