【Flask】 python学习第一章 - 2.0 视图方式和返回值
路由参数与请求方式制定
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 视图方式和返回值的更多相关文章
- 【Flask】 python学习第一章 - 5.0 模板
jinjia2 模板 python实现 flask 内置语言 参照Djago实现 设置模板文件夹 设置模板语言 jinja2 demo6_template.html ----> 从代码渲染 ...
- 【Flask】 python学习第一章 - 4.0 钩子函数和装饰器路由实现 session-cookie 请求上下文
钩子函数和装饰器路由实现 before_request 每次请求都会触发 before_first_requrest 第一次请求前触发 after_request 请求后触发 并返回参数 tear ...
- 【Flask+Redis】 python学习第一章 - 7.0 断言 数据库测试 redis学习
assert 断言 def div(num1, num2): # 断言 assert isinstance(num1, int), "值类型错误" assert isinstanc ...
- 【Flask】 python学习第一章 - 6.0 WTF表单 数据库 蓝图
WTF表单 wtf.py pip install flask-wtf # 安装 from flask_wtf import FlaskForm from wtform import StringF ...
- 【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉
3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters[ ...
- python学习 第一章(说不定会有第零章呢)one day
------------恢复内容开始------------ 一.啥是python python是吉尔·范罗苏姆于1989年开发的一个新的脚本解释程序,是ABC语言的一种继承. 二.python的特点 ...
- 【Flask】 python学习第一章 - 创建与运行参数
windos 创建环境 sudo pip install virtualenv # 安装virtualenv virtualenv -p python dir_name cd dir_name p ...
- Python 学习第一章
学习内容如下: Python 介绍 Python 3 VS Python 2 软件的安装 第一个 Python 程序 变量与字符编码 用户输入与注释 一.Python 介绍 python的创始人为吉多 ...
- Python学习第一章
1.Python保留字即是关键字,我们不可以把他们当作任何标识符名称. python的标准库提供了一个keyword模板,可以输出当前版本的关键字: >>>import keywor ...
随机推荐
- datatables:initComplete和drawCallback比较
drawCallback: 对表的每个绘制事件执行操作非常有用 - 例如,您可能希望使用新显示的数据更新外部控件,或者启用服务器端处理,您可能希望将事件分配给新创建的元素.此回调旨在实现此目的,并将在 ...
- 乐橙平台大华监控Android端实时预览播放
一.初始化 首先我们需要到乐橙开放平台下载android对应的开发包,将sdk中提供的jar和so文件添加到项目中: 二.获取监控列表 监控列表我们是通过从自家后台服务器中获取的,这个自己根据需要调整 ...
- 《Mysql - 自增主键为何不是连续的?》
一:自增主键是连续的么? - 自增主键不能保证连续递增. 二:自增值保存在哪里? - 当使用 show create table `table_name`:时,会看到 自增值,也就是 AUTO_INC ...
- 17.Python略有小成(包,logging模块)
Python(包,logging模块) 一.包 什么是包 官网解释 : 包是一种通过使用'.模块名'来组织python模块名称空间的方式 , 具体来讲 , 包就是一个包含有__ init __.py文 ...
- day40——数据库、数据库分类、安装、修改密码、字符集编码、简单语句介绍
day40 详情请看:https://www.cnblogs.com/clschao/articles/9907529.html 数据库 数据库 简而言之可视为电子化的文件柜--存储电子文件的处所,用 ...
- Altium Designer 复制报错-奇怪的问题解决办法
之前AD画原理图复制元件正常使用,今天使用时复制弹出了错误.很是诧异! 各种搜索查找问题,发现或许是因为前一段时间把,电脑上的所有打印机都删除了导致的. 就安装了一个打印机. 再复制,就不报错了. 或 ...
- Django的Xadmin使用
Django Xadmin 通常在实际的开发当中, 除了前后端分离的项目, 还有一些前后端不分离的项目, 这样我们在访问不分离的页面的时候, 就可以通过Django自带的admin管理模块来轻松实现后 ...
- 小程序day1-day3随笔
0==小程序的结构和组件 1==小程序常用组件:text文本属性 3==小程序UI组件view的属性hover 鼠标点击出现的效果hover 4==小程序ui组件button按钮组件的属性 5==小程 ...
- Jupyter Notebook的配置(密码端口+远程登陆+nbextension)
1 生成配置文件 linux和mac系统打开终端 windows系统打开anaconda自带的终端 jupyter notebook --generate-config 此时系统会生成 ~/.jupy ...
- 全栈项目|小书架|服务器开发-Koa2 参数校验处理
为什么需要做参数校验 在开发中,无论是App开发还是服务器接口开发, 我们无法去预测用户传入的数据,因此参数(数据)校验是开发中不可或缺的一环. 例如像App的注册登录表单提交页面,就要做好多层的判断 ...