介绍
这篇文章将为大家详细讲解有关怎么用烧瓶中的url_for(),文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
在瓶开发中常会url_for()函数,这个url_for()函数是用于构建指定函数的URL,而且url_for操作对象是函数,而不是路线里的路径。
如果路线和函数名不一样而导致使用url_for()错误,千万不要去找路线错误只
例如下面的代码:
得到flask import 烧瓶,url_for app =,瓶(\ __name__) @app.route (& # 39;/& # 39; def 指数(): ,才能通过 @app.route(& # 39;/登录# 39;) def 登录(): ,才能通过 with app.test_request_context (): ,,,print (url_for(& # 39;指数# 39;)) ,,,print (url_for(& # 39;登录# 39;))
打印(url_for(& # 39;指数# 39;))没有报的错,就是一个反斜杠;打印(url_for(& # 39;登录# 39;))报错,抛出BuildError异常:
/, Traceback (most recent call 最后):, File “& lt; \ pyshell # 12祝辞”,,line 3,拷贝; print (url_for('登录'), File “C: \ Python35 \ lib \网站\瓶\ helpers.py”,, line 332年,拷贝url_for return appctx.app.handle_url_build_error(错误,,端点,,值), File “C: \ Python35 \ lib \网站\瓶\ app.py”,, line 1811年,拷贝handle_url_build_error reraise (exc_type, exc_value, tb), File “C: \ Python35 \ lib \网站\ flask_compat.py”,, line 33岁,拷贝reraise raise value File “C: \ Python35 \ lib \网站\瓶\ helpers.py”,, line 322年,拷贝url_for force_external=外部), File “C: \ Python35 \ lib \网站\ werkzeug \ routing.py”,, line 1758年,拷贝build raise BuildError(端点、,值,方法,,自我), werkzeug.routing.BuildError: Could not  build url for endpoint “登录”只Did 你mean “指数”,而不是?
把登录修改为登录:
with app.test_request_context (): ,,,print (url_for(& # 39;指数# 39;)) ,,,print (url_for(& # 39;登录# 39;))
打印正常:
/,/登录
<强>参数强>
url_for()也可以附带一些参数,比如想要完整的URL,可以设置_external为真正的:
url_for (& # 39; .static& # 39;, _external=True,文件名=& # 39;图片/test.png& # 39;)
这样返回的URL是http://localhost/static/pic/test.png
<强>参数示例:强>
endpoint
URL的端点(即函数的名字)
values
URL的变量参数
_external
如果设置为真,则生成一个绝对路径URL
_scheme
一个字符串指定所需的URL方案._external参数必须设置为真,不然会抛出ValueError。
_anchor
如果设置了这个则给URL添加一个毛
_method
如果设置这个则显示地调用这个HTTP方法
关于怎么用烧瓶中的url_for()就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。