路由参数与请求方式制定  

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. 查看 redis 请求日志

    转: 查看 redis 请求日志 2019-05-29 15:34:41 打卤 阅读数 1980更多 分类专栏: other   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转 ...

  2. Qt开发经验小技巧21-30

    如果出现Z-order assignment: is not a valid widget.错误提示,用记事本打开对应的ui文件,找到为空的地方,删除即可. 善于利用QComboBox的addItem ...

  3. ADB命令使用大法

    ​前言 Android开发调试工具ADB的使用.ADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的And ...

  4. [LeetCode] 288.Unique Word Abbreviation 独特的单词缩写

    An abbreviation of a word follows the form <first letter><number><last letter>. Be ...

  5. Jenkins - 插件管理

    1 - Jenkins插件 Jenkins通过插件来增强功能,可以集成不同的构建工具.云平台.分析和发布工具等,从而满足不同组织或用户的需求. Jenkins 提供了不同的的方法来安装插件(需要不同级 ...

  6. 主机可以ping通虚拟机,虚拟机ping不通主机和外网

    vmware-->编辑-->虚拟网络编辑器-->更改配置,如下图选择:

  7. Python微服务实践-集成Consul配置中心

    A litmus test for whether an app has all config correctly factored out of the code is whether the co ...

  8. AppCrawler运用总结

    一.环境 1.环境准备:安装安卓SDK + 真机 + appcrawler-2.1.3.jar 在放 appcrawler-2.1.0.jar 的文件夹下执行以下命令: 1.生成yml的demo:ja ...

  9. 学习数据结构Day2

    之前学习过了数组的静态实现方法,同时将数组的所有有可能实现的方法都统一实现了一遍,之后支持了泛型的相关 概念,接下来就是如何对数组进行扩容的操作也就是实现动态数组. private void resi ...

  10. 【RocketMQ源码学习】- 4. Client 事务消息源码解析

    介绍 > 基于4.5.2版本的源码 1. RocketMQ是从4.3.0版本开始支持事务消息的. 2. RocketMQ的消息队列能够保证生产端,执行数据和发送MQ消息事务一致性,而消费端的事务 ...