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-视图-路由的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 8 视图不更新路由

如何将列表视图中的数据从一个片段发送到另一个片段

回收站视图未显示在片段中

微信小程序视图层WXML_模板

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置