路由瓶服务器两个子文件夹?

时间:2014-03-27 13:24:00

标签: python routing bottle

两个子文件夹位于名为frontend的同一文件夹下。

一个是app,另一个是dist。

在我的main.py中,我的路线如下

@bottle.route('/') 
def server_static(filename="index.html"):
  return static_file(filename, root='./frontend/dist/')

@bottle.route('/<filepath:path>')
def server_static(filepath):
  return static_file(file path, root='./frontend/dist/')

现在,当用户访问www.example.com/等主站点网址时,他们可以成功加载文件夹dist中的所有内容。

但我希望为文件夹应用添加特定的路由。因此,当用户访问www.example.com/dev/时,将加载文件夹应用程序中的所有内容。

我试过了

@bottle.route('/dev') 
def server_static(filename="index.html"):
  return static_file(filename, root='./frontend/app/')

@bottle.route('/dev/<filepath:path>')
def server_static(filepath):
  return static_file(file path, root='./frontend/app/')

但这根本不起作用。我认为这是由于我使用了filepath。

任何人都可以在这种情况下建议如何路线?

1 个答案:

答案 0 :(得分:0)

当两条路线匹配时,选择首先声明的路线。您需要先声明最具体的路线:

@bottle.route('/') 
...

@bottle.route('/dev') 
...
@bottle.route('/dev/<filepath:path>')
...

# because this matches the previous two routes, it must come after them
@bottle.route('/<filepath:path>')
...