【问题标题】:Bottle server route to multiple html pages瓶服务器路由到多个 html 页面
【发布时间】:2019-06-19 17:24:51
【问题描述】:

我已经设置了一个瓶子服务器,我想启动位于我的主网站文件夹中的 index.html 和 second.html 页面。我之前用来显示 index.html 的代码是:

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

目前,它不起作用,它会抛出一个服务器错误,说该文件不存在。如何不仅启动我的索引,还启动我的其他页面?

【问题讨论】:

  • 你的目录结构是什么样的?
  • @LoganBertram 我基本上有我的文件夹,里面有 index.html、secondpage.html、thirdpage.html。

标签: python html server bottle


【解决方案1】:

root 必须是包含文件的文件夹的路径,而不是文件本身:

@route('/<filename>')
def server_static(filename):
    return static_file(filename, root='/path/to/files')

因此,请求example.com/index.html 将在/path/to/files/index.html 提供文件。

【讨论】:

  • 但是其他页面呢?不仅仅是我的索引。
  • 已编辑。您的示例使您看起来只想使用此路由提供 index.html 并且会创建其他路由来提供其他文件。这将提供根文件夹中与路由模式匹配的任何文件。
  • 抱歉,我意识到并编辑了我的问题。感谢您的回答。这是否意味着我必须按字面意思输入@route('/')?然后在 return 语句中指明我的文件夹路径? - 我对此完全陌生,所以我试图理解。 :)
  • @user3755632 没问题。是的,您按字面意思表示并将文件的绝对路径设置为root
  • 啊好吧!谢谢!我刚才添加的文件夹路径是root='A:\files\new\webapp',它不会工作:/。它会说找不到文件等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多