路由参数与请求方式制定  

ALT+回车 pycharm 快速导包 

demo3  指定访问地址  与请求方式 

#   给路由传入参数 使用尖括号 ,视图函数需要接收参数

@app.route("/index/<int:user_id>", method=['POST, 'GET'])

def index(user_id):

  return "%s + demo" % user_id

from flask import Flask, request

app = Flask(__name__,
static_url_path='/python27', # 必须以斜杠开头 否则报错
static_folder='static',
template_folder='templates') @app.route('/')
def index():
return "hello wolrd" # 给路由传入参数 使用尖括号 ,视图函数需要接收参数
# <int:user_id> 限定参数为整数
@app.route('/user/<int:user_id>')
def demo01(user_id):
return "%s+demo2" % user_id # 添加请求方式
@app.route("/demo3", methods=['GET', 'POST'])
def demo3():
# 打印请求类型
return "demo3 %s" % request.method if __name__ == '__main__':
app.run("127.0.0.1", 8080, debug=True) 路由参数与请求方式

路由参数与请求方式

demo4 将字典转成json格式 

# json.dumps("{字典}") 字典转换json字符串

# json.loads("{json"}) json转字典      封装响应 指定返回类型

直接使用 return jsonify(字典) 直接返回json格式 Flask自带  指定返回content-type【内容类型】

return jsonify("字典参数")

from flask import Flask, request, json

app = Flask(__name__,
static_url_path='/python27', # 必须以斜杠开头 否则报错
static_folder='static',
template_folder='templates') @app.route('/')
def index():
return "hello wolrd" # 给路由传入参数 使用尖括号 ,视图函数需要接收参数
# <int:user_id> 限定参数为整数
@app.route('/user/<int:user_id>')
def demo01(user_id):
return "%s+demo2" % user_id # 添加请求方式
@app.route("/demo3", methods=['GET', 'POST'])
def demo3():
# 打印请求类型
return "demo3 %s" % request.method @app.route("/json")
def demo4():
# key 必须为字符串
json_dict = {
"name": "laowang",
"age": 18,
"color": "green"
}
# 将字典转为字符串
#result = json.dumps(json_dict)
return jsonify(json_dict) if __name__ == '__main__':
app.run("127.0.0.1", 8080, debug=True)

字典转换成json

demo5 重定向 

# url_for 指定视图的路由URL 并且可以携带参数

@app.route("/redirect")

def demo5():

  # return redirect("https://www.baidu.com")

     return redirect(url_for("demo01", user_id=123))

from flask import Flask, request, json, redirect, url_for

app = Flask(__name__,
static_url_path='/python27', # 必须以斜杠开头 否则报错
static_folder='static',
template_folder='templates') @app.route('/')
def index():
return "hello wolrd" # 给路由传入参数 使用尖括号 ,视图函数需要接收参数
# <int:user_id> 限定参数为整数
@app.route('/user/<int:user_id>')
def demo01(user_id):
return "%s+demo2" % user_id # 添加请求方式
@app.route("/demo3", methods=['GET', 'POST'])
def demo3():
# 打印请求类型
return "demo3 %s" % request.method @app.route("/json")
def demo4():
# key 必须为字符串
json_dict = {
"name": "laowang",
"age": 18,
"color": "green"
}
# 将字典转为字符串
result = json.dumps(json_dict)
test_dict = json.loads('{"name":"laowang","age":18}') return result # demo5 重定向
@app.route("/redirect")
def demo5():
# return redirect("https://www.baidu.com")
return redirect(url_for("demo01", user_id=123)) if __name__ == '__main__':
app.run("127.0.0.1", 8080, debug=True)

demo5 重定向并使用url_for 指定视图路由

demo6 自定义状态码

@app.route("/demo6")

def demo6():

  return 'demo6' , 666

一个爱学习的oscar

【Flask】 python学习第一章 - 2.0 视图方式和返回值的更多相关文章

  1. 【Flask】 python学习第一章 - 5.0 模板

    jinjia2 模板 python实现 flask 内置语言  参照Djago实现  设置模板文件夹 设置模板语言 jinja2 demo6_template.html  ----> 从代码渲染 ...

  2. 【Flask】 python学习第一章 - 4.0 钩子函数和装饰器路由实现 session-cookie 请求上下文

    钩子函数和装饰器路由实现 before_request 每次请求都会触发 before_first_requrest  第一次请求前触发 after_request  请求后触发 并返回参数 tear ...

  3. 【Flask+Redis】 python学习第一章 - 7.0 断言 数据库测试 redis学习

    assert 断言 def div(num1, num2): # 断言 assert isinstance(num1, int), "值类型错误" assert isinstanc ...

  4. 【Flask】 python学习第一章 - 6.0 WTF表单 数据库 蓝图

    WTF表单  wtf.py pip install flask-wtf  # 安装 from flask_wtf import FlaskForm from wtform import StringF ...

  5. 【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉

    3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters[ ...

  6. python学习 第一章(说不定会有第零章呢)one day

    ------------恢复内容开始------------ 一.啥是python python是吉尔·范罗苏姆于1989年开发的一个新的脚本解释程序,是ABC语言的一种继承. 二.python的特点 ...

  7. 【Flask】 python学习第一章 - 创建与运行参数

    windos 创建环境 sudo pip install virtualenv   # 安装virtualenv virtualenv -p python dir_name cd dir_name p ...

  8. Python 学习第一章

    学习内容如下: Python 介绍 Python 3 VS Python 2 软件的安装 第一个 Python 程序 变量与字符编码 用户输入与注释 一.Python 介绍 python的创始人为吉多 ...

  9. Python学习第一章

    1.Python保留字即是关键字,我们不可以把他们当作任何标识符名称. python的标准库提供了一个keyword模板,可以输出当前版本的关键字: >>>import keywor ...

随机推荐

  1. 【Linux】两台服务器ssh免密登录

    背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备:  服务器A  linux   ip: 192.168.1.1 服务器B  linux  ip: 192.168.1. ...

  2. Qt编写小清新风格界面

    给一个朋友定制的界面,左侧有导航,左侧底部有运行+暂停+停止按钮,右侧有可伸缩面板,面板之间可以拉伸调节高度,左右两侧可以拉伸调节高度,所有的宽高和位置都保存在配置文件,下次重启立即应用,无边框标题栏 ...

  3. SVN + Jenkins 构建自动部署

    1. 前言 因为研发部门不想把他们的源代码 git 到服务器再编译,git + maven + jenkins 的方式行不通,于是采用 svn + jenkins的方式,流程如下: 只需要 程序员 手 ...

  4. [LeetCode] 224. Basic Calculator 基本计算器

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  5. 扩展Redis的Jedis客户端,哨兵模式读请求走Slave集群

    原 扩展Redis的Jedis客户端,哨兵模式读请求走Slave集群 2018年12月06日 14:26:45 温故而知新666 阅读数 897   版权声明:本文为博主原创文章,遵循CC 4.0 b ...

  6. Spring boot后台搭建二为Shiro权限控制添加缓存

    在添加权限控制后,添加方法 查看 当用户访问”获取用户信息”.”新增用户”和”删除用户”的时,后台输出打印如下信息 , Druid数据源SQL监控 为了避免频繁访问数据库获取权限信息,在Shiro中加 ...

  7. 【网络开发】详谈socket请求Web服务器过程

    最开始我们需要明白一件事情,因为这是这篇文章的前提: HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有"连接建立"的发生 ...

  8. 【计算机视觉】【神经网络与深度学习】YOLO v2 detection训练自己的数据2

    1. 前言 关于用yolo训练自己VOC格式数据的博文真的不少,但是当我按照他们的方法一步一步走下去的时候发现出了其他作者没有提及的问题.这里就我自己的经验讲讲如何训练自己的数据集. 2.数据集 这里 ...

  9. 使用TCP的协议有哪些?使用UDP的协议有哪些?

    运行于TCP协议之上的协议: HTTP协议:超文本传输协议,用于普通浏览 HTTPS协议:安全超文本传输协议,身披SSL外衣的HTTP协议 FTP协议:文件传输协议,用于文件传输 POP3协议:邮局协 ...

  10. 《TCP/IP - OSI和TCP/IP分层模型》

    一:分层模型 -  - OSI 更强调:通信协议必要的功能是什么 - TCP/IP 更强调:在计算机上实现协议应该开发哪种程序  二:为什么会产生协议标准化 (分层模型的产生)? - 由于各个厂商生产 ...