032-Flask_01-视图-路由
Posted hhj-study-10years
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了032-Flask_01-视图-路由相关的知识,希望对你有一定的参考价值。
虚拟环境 搭建 : § 安装虚拟环境的命令 : sudo pip install virtualenv sudo pip install virtualenvwrapper 安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量: # 1、创建目录用来存放虚拟环境 mkdir $HOME/.virtualenvs # 2、打开~/.bashrc文件,并添加如下: export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh # 3、运行 source ~/.bashrc § 创建虚拟环境的命令 : § 提示:如果不指定python版本,默认安装的是python2的虚拟环境 § 在python2中,创建虚拟环境 mkvirtualenv 虚拟环境名称 例 : mkvirtualenv py_flask § 在python3中,创建虚拟环境 mkvirtualenv -p python3 虚拟环境名称 例 : mkvirtualenv -p python3 py3_flask
安装 Flask : pip3 install flask==0.10.1(版本可能不同) 使用虚拟环境 : workon 虚拟环境名称 退出虚拟环境 : deactivate 好处 : 由于工作时可能会同时开发多个版本的软件,用虚拟环境便于切换 开启调试模式 ① app.debug = True ② class Config(object): DEBUG = True app.config.from_object(Config) ③ app.config.from_pyfile("config.py") 路由和视图 视图函数 : 就是路由地址对应的函数(能把内容显示到浏览器上对应的函数) 通过路由给函数传参 @app.route("/<int:参数名>") # 参数是从浏览器地址栏传过来的,即使不用该参数,也必须把参数传到函数的参数中 # int 是转换器,内部其实是一个正则 : d+,限定参数必须是数字 视图返回 JSON return jsonify() (效果 : Python字典 --> JSON格式数据) 重定向 redirect(url_for( “视图函数名字”,[参数=])) 请求方式 ① Flask 路由自带 GET、HEAD、OPTIONS 三种请求方式,想要添加 POST 需要在路由中写 methods=[‘GET‘,‘POST‘],如果不写 GET 那么只有 POST 和 OPTIONS 两种请求方式, 此时再想通过 GET 请求就请求不到内容了。 ② HEAD : 发送 HEAD 请求后,返回的只有响应头,其中 content-length 可以知道文件长度 ③ OPTIONS : 返回的也是响应头,不过多了一个 allow 属性,包含支持的请求方式 转换器 Flask 自带的转换器 : string(默认,不写也自带)、int、float、any、path、uuid ??自定义转换器 : # 导入模块 from werkzeug.routing import BaseConverter # 自定义一个类,继承 BaseConverter class MyConverter(BaseConverter): # 重写 __init__(),目的 : 添加自定义规则 re # __init__() 中也可以不写 re,那么就把下面的 self.regex 正则写好 # 如果需要的参数多,可以写成 *args def __init__(self,url_map,re): # 先调用父类初始化函数 super(EmailConverter, self).__init__(url_map) # 用自定义规则替换父类正则规则 self.regex = re / self.regex = r"1[34567]{9}" # 添加自定义转换器 app.url_map.converters["re"] = MyConverter ①②③④⑤⑥⑦⑧⑨⑩ ?? ?
以上是关于032-Flask_01-视图-路由的主要内容,如果未能解决你的问题,请参考以下文章