为了账号安全,请及时绑定邮箱和手机立即绑定

使用 get_url() 或 url() 访问端点的正确方法是什么?

使用 get_url() 或 url() 访问端点的正确方法是什么?

慕的地6264312 2021-06-17 17:26:28
我正在使用 Bottle。例如,我已经定义了几个带有相应视图函数的路由/log/<page>/showlogs我应该如何访问端点?!以下是相关的视图函数:@app.route( '/log/<page>' )def log( page ):@app.route( '/showlogs' )def showlogs():使用 get_url 访问这些路由的正确方法是什么?我试着:get_url( 'log', page=page )get_url( 'showlogs' )我收到的错误是:[Sun Sep 23 00:35:21.013955 2018] [wsgi:error] [pid 13159] [remote 45.77.155.110:50978]   File "/usr/lib/python3.6/site-packages/bottle.py", line 766, in get_url[Sun Sep 23 00:35:21.013971 2018] [wsgi:error] [pid 13159] [remote 45.77.155.110:50978]     location = self.router.build(routename, **kargs).lstrip('/')[Sun Sep 23 00:35:21.013975 2018] [wsgi:error] [pid 13159] [remote 45.77.155.110:50978]   File "/usr/lib/python3.6/site-packages/bottle.py", line 403, in build[Sun Sep 23 00:35:21.013978 2018] [wsgi:error] [pid 13159] [remote 45.77.155.110:50978]     if not builder: raise RouteBuildError("No route with that name.", _name)[Sun Sep 23 00:35:21.013982 2018] [wsgi:error] [pid 13159] [remote 45.77.155.110:50978] bottle.RouteBuildError: ('No route with that name.', 'log')为什么 get_url 抱怨没有具有该名称的路由,而它们显然是?!
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

(1) 你没有向我们展示你的代码,所以我们不能告诉你它有什么问题,但这里有一个get_url. (请注意,这get_url是Bottle该类的一个方法,因此您必须如此使用它。)


from bottle import Bottle


app = Bottle()


@app.route('/log/<page>')

def handle_log(page):

    return ['your page was: {}'.format(page)]


@app.route('/showlogs')

def handle_showlogs():

    return ['showing the logs...']


print app.get_url('/showlogs')  # prints "/showlogs"

print app.get_url('/log/<page>', page='123')  # prints "/log/123"

print app.get_url('nope')  # raises RouteBuildError, as expected

(2) 你的最后一个问题,


我应该如何访问端点?


让我想知道这是否是XY 问题(因为我不确定这里的“访问”是什么意思)。


如果是(换句话说:如果,现在你知道如何成功调用get_url,你仍然不能做你想做的事情),那么请解决这个问题并简单地提出一个新的问题来说明你的目标;我们会尽力提供帮助。


查看完整回答
反对 回复 2021-06-22
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号