有多个路由的程序需要连接不同的网页链接,例如导航条
模板中构建正确的动态url较为困难,如果重定义路由,模板中的链接失效
url_for()函数:
使用url映射中保存的信息生成url
用法:
用视图函数名作为参数,返回对应的url
例如url_for(‘index’)得到的结果是”/”
utl_for(‘index’,external=True)
得到的是绝对地址 例如:http://localhost:5000
生成连接程序内放入不同路由的链接时,使用相对地址吗
使用url_for()生成动态地址:
动态部分作为参数传入
url_for(‘user’ name =’cjkk’,external=True) #user为路由的名字
返回的结果:http://localhost:5000/user/cjkk
url_for()的参数:
函数可将任何额外的参数添加查询字符串中
例如:url_for(‘index’,page = 2)
表示localhost:5000/index/2
静态文件
flask中默认有一个处理静态文件的模板
例如:代码中引用的图片,javaScripts代码,CSS等
对静态文件的引用被当做特殊的路由 /static/<filename>
url_for('static',filename='js/test.js',_external=True) #_extenrnal可以默认不添加
得到的结果:http://127.0.0.1:5000/static/js/test.js
默认情况下,flask在程序根目录下名为static的子目录下寻找静态文件
服务器收到url后会生成响应,包括js中的内容