怎么用烧瓶中的url_for ()

  介绍

这篇文章将为大家详细讲解有关怎么用烧瓶中的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()就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么用烧瓶中的url_for ()