关键词:
Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用
@app.route("/",methods=["GET","POST"])
为什么要这么用?其中的工作原理我们知道多少?
请关注跟DragonFire学Flask 之 路由系统 ,这里有你想要的答案
1. @app.route() 装饰器中的参数
如果不明白装饰器 点击这里
methods : 当前 url 地址,允许访问的请求方式
@app.route("/info", methods=["GET", "POST"]) def student_info(): stu_id = int(request.args["id"]) return f"Hello Old boy stu_id" # Python3.6的新特性 f"变量名"
endpoint : 反向url地址,默认为视图函数名 (url_for)
from flask import url_for @app.route("/info", methods=["GET", "POST"], endpoint="r_info") def student_info(): print(url_for("r_info")) # /info stu_id = int(request.args["id"]) return f"Hello Old boy stu_id" # Python3.6的新特性 f"变量名"
defaults : 视图函数的参数默认值"nid":1
from flask import url_for @app.route("/info", methods=["GET", "POST"], endpoint="r_info", defaults="nid": 100) def student_info(nid): print(url_for("r_info")) # /info # stu_id = int(request.args["id"]) print(nid) # 100 return f"Hello Old boy nid" # Python3.6的新特性 f"变量名"
strict_slashes : url地址结尾符"/"的控制 False : 无论结尾 "/" 是否存在均可以访问 , True : 结尾必须不能是 "/"
# 访问地址 : /info @app.route("/info", strict_slashes=True) def student_info(): return "Hello Old boy info" # 访问地址 : /infos or /infos/ @app.route("/infos", strict_slashes=False) def student_infos(): return "Hello Old boy infos"
redirect_to : url地址重定向
# 访问地址 : /info 浏览器跳转至 /infos @app.route("/info", strict_slashes=True, redirect_to="/infos") def student_info(): return "Hello Old boy info" @app.route("/infos", strict_slashes=False) def student_infos(): return "Hello Old boy infos"
subdomain : 子域名前缀 subdomian="DragonFire" 这样写可以得到 DragonFire.oldboyedu.com 前提是app.config["SERVER_NAME"] = "oldboyedu.com"
app.config["SERVER_NAME"] = "oldboy.com" @app.route("/info",subdomain="DragonFire") def student_info(): return "Hello Old boy info" # 访问地址为: DragonFire.oldboy.com/info
关于路由目前就说这么多,之后的课程中会有关于Flask路由系统的源码剖析,再详细说明Flask路由系统的工作原理
2.动态参数路由:
from flask import url_for # 访问地址 : http://127.0.0.1:5000/info/1 @app.route("/info/<int:nid>", methods=["GET", "POST"], endpoint="r_info") def student_info(nid): print(url_for("r_info",nid=2)) # /info/2 return f"Hello Old boy nid" # Python3.6的新特性 f"变量名"
<int:nid> 就是在url后定义一个参数接收
但是这种动态参数路由,在url_for的时候,一定要将动态参数名+参数值添加进去,否则会抛出参数错误的异常
3.路由正则:
一般不用,如果有特殊需求,不怕麻烦的话,这个东西还是挺好用的,前提是你的正则玩儿的很6
flask初识,第十篇,flask中的装饰器before_requestafter_request(代码片段)
Flask我们已经学习很多基础知识了,现在有一个问题我们现在有一个Flask程序其中有3个路由和视图函数,如下: 简单的小程序如果登陆了,就可以访问index和home页面,如果没登录就跳转到login登录要怎么解决呢,session对,用session... 查看详情
flask初识,第九篇,flask中的蓝图(代码片段)
蓝图,听起来就是一个很宏伟的东西在Flask中的蓝图blueprint也是非常宏伟的它的作用就是将功能与主服务分开怎么理解呢?比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客... 查看详情
flask初识,第六篇,flask中内置的session(代码片段)
Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪1.Flask中session是需要secret_key的fromflaskimportsessionapp=Flask(__name__)app.secret_key="DragonFire"secret_key实际上是用来加密字符串的,如果在实例化的... 查看详情
初识flask(代码片段)
...7.0.0.1',4000,hello)run_simple('localhost',4000,hello)2|0二、初识flask小结:1app 查看详情
flask初识
Flask特点以及对比 Flask:轻量级,短小精悍.快,三行代码开启服务. 缺点:你们还不会,组件大部分来源第三方,flask-admin,flask-session。Flask大版本更新,组件更新速度慢. Django特点:大而全,admin,models,Form,ModelForm,中... 查看详情
flask第六篇flask中路由系统(代码片段)
Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用@app.route("/",methods=["GET","POST"])为什么要这么用?其中的工作原理我们知道多少?请关注跟DragonFire学Flask之路由系统,这里有你想要的答案 1.@app.route()装饰器中的... 查看详情
flask初识(代码片段)
一、Flask初识1、Flask介绍Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug服务,模板引擎则使用Jinja2。Flask使用BSD授权。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。... 查看详情
flask中的蓝图(blueprint)(代码片段)
蓝图1.初识Flask蓝图(BluePrint)创建一个项目然后将目录结构做成:user.py中的内容fromflaskimportBlueprint,render_template#导入Flask中的蓝图BluePrint模块#实例化一个蓝图对象users_blue=Blueprint(‘users‘,__name__,template_folder=‘user_temp‘,url_pr... 查看详情
flask框架-初识(代码片段)
什么是Flask框架Flask是一个基于Python并且依赖于Jinja2模板引擎和WerkzeugWSGI服务的一个微型框架(MicroFramework)Flask的框架模式是MTVM:Models层,模型层,负责与数据库打交道T:Templates层,模板层,处理用户显示的内容,如htmlV:Views层... 查看详情
狗书无敌,天下第一(初识flask)
为什么选择使用flask? 和其他框架相比,Flask之所以能脱颖而出,原因在于它让开发者做主,使其能对程序具有全面的创意控制。 在Flask中,你可以自主选择程序的组件,如果找不到合适的,还可以自己开发。 Fla... 查看详情
flask初识(代码片段)
一.Python现阶段三大主流Web框架DjangoTornadoFlask对比1.Django主要特点是大而全,集成了很多组件,例如:ModelsAdminForm等等,不管你用得到用不到,反正它全都有,属于全能型框架,Django通常用于大型Web应用由于内置组件足够强大所以使用Django... 查看详情
flask中的蓝图(代码片段)
...这样的例子,但是首先我们要搞清楚什么是蓝图blueprint二.初识Flask中的蓝图(blueprint)1.创建一个项目,然后将目录结构做成:2.s_view.py文件中的内容fromflaskimportFlask,Blueprint#导入Flask中的蓝图Blueprint模块sbp=Blueprint("sbp",__name__)#实例化一个... 查看详情
flask初识
flask的初识一.flask与django的比较Django15优势:组件全-admin-ModelORM-Forms 教科书式 劣势:加载所有组件-占用资源较高 重型框架Flask3优势:轻如鸿毛扩展性极强三方组件全劣势:什么组件都没有 三方组件全-版本兼... 查看详情
flask初识,第一篇(代码片段)
首先,要看你学没学过Django如果学过Django的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分一.Python现阶段三大主流Web框架DjangoTornadoFlask对比1.Django主要特点是大而全,集成了很多组件,例... 查看详情
Flask 中的路径路由
】Flask中的路径路由【英文标题】:PathroutinginFlask【发布时间】:2012-04-1610:47:00【问题描述】:我想在共享主机环境中运行PythonCGI。我按照Flask的示例提出了一个小应用程序,如下所示:fromflaskimportFlaskapp=Flask(__name__)@app.route("/")de... 查看详情
python轻量级web框架flask——flask路由参数/flask请求与响应/重定项/异常处理(代码片段)
...其实就是一个路径,就是@a.route(‘/template_test/’)中的’/template_test/',每一个路由对应的是唯一的一个功能,如果要实现很多个功能,就需要很多个路由methods参数就是用来设置支持GET和POST请求的下面通过“P... 查看详情
flask初识(代码片段)
python现阶段三大主流Web框架:Django,Flask,Tornado对比.1.Django主要特点是大而全,集成了很多组件,例如:models,admin,form等,不管你用得到用不到,反正它全都有,属于全能型框架. Django通常用于大型Web应用由于内置组件足够强大所以使用Dja... 查看详情
初识flask
首先在学习flask的前提,我是使用了很久的django和tornado,现在在写总结也是本着工作后方便使用flask少点东西,对flask的介绍和优点总结 1.安装pipinstallflask或者pythonsetup.pyinstall 2.测试是否安装成功importflas... 查看详情