cherrypy 捕获所有路由

1 投票
1 回答
1027 浏览
提问于 2025-04-18 11:36

使用Cherrypy,我该如何编写这个脚本,让任何网址都能加载index.html这个页面呢?

举个例子,如果使用下面这些网址,它们都会加载index.html页面:

www.mtsite.test/111111/22222/333333
www.mtsite.test/1
www.mtsite.test/fred
www.mtsite.test/test

import os, os.path
import random
import string

import cherrypy

class StringGenerator(object):
   @cherrypy.expose
   " def *(self)
   def index(self):
       return file('index.html')

if __name__ == '__main__':
    conf = {
        '/': {
            'tools.sessions.on': True,
            'tools.staticdir.root': os.path.abspath(os.getcwd())
        },
        '/static': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': './public'
        }
    }


    webapp = StringGenerator()
    cherrypy.quickstart(webapp, '/', conf)

1 个回答

2

在编程中,有时候我们会遇到一些问题,尤其是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,特别是当我们不太了解这些工具的工作原理时。

比如,有人可能在使用某个库时,发现它的某个功能没有按预期工作。这时候,通常需要查看文档,看看有没有相关的说明,或者在网上搜索一下,看看其他人有没有遇到类似的问题。

如果你在网上找到了一个讨论这个问题的帖子,可能会看到其他人分享他们的解决方案或者经验。这些信息可以帮助你更好地理解问题的根源,并找到解决办法。

总之,遇到问题时,不要着急,先查阅资料,看看有没有人遇到过类似的情况,通常会找到有用的线索。

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import cherrypy


config = {
  'global' : {
    'server.socket_host' : '127.0.0.1',
    'server.socket_port' : 8080,
    'server.thread_pool' : 4
  }
}


class App:

  @cherrypy.expose
  def default(self, *args, **kwargs):
    return u'It is me again at {0} with {1}'.format(args, kwargs)


if __name__ == '__main__':
  cherrypy.quickstart(App(), '/', config)

撰写回答