如何在 CherryPy 中使用 URL 正则表达式?



我正在尝试将URL正则表达式添加到CherryPy,但由于某种原因,并非一切都能解决。我哪里弄错了?

我需要 URL 选择看起来像 example.com/opts/someopts。

但是现在有了这样的请求,我收到一个 404 错误。

class SomeClass:
    def __init__(self, config):
         someactions
    @cherrypy.expose
    def opts(self):
        templ = Template(filename='dyn/opts.tmpl', lookup=self.lookup)
        self.token = random.randint(0, 99999999)
        return templ.render(opts=self.config, pageid='SETTINGS', 
        token=self.token, docroot=self.docroot)
d = cherrypy.dispatch.RoutesDispatcher()
d.connect(action='opts', name='opts', route='/opts/:optsname', controller=opts)
conf = {
    '/opts': {
         'request.dispatch': d
     },
}
cherrypy.tree.mount(root=None, config=conf)

如果您只想以某种方式将查询字符串参数传递给控制器(基于您在问题中添加的注释(,这里有一个简单的示例(CherryPy 18.1.1(:

import cherrypy
class Opts:
    @cherrypy.expose
    def opts(self, optsname):
        return optsname
d = cherrypy.dispatch.RoutesDispatcher()
d.connect(action='opts', name='opts', route='/opts/{optsname}', controller=Opts(), conditions=dict(method=["GET"]))
conf = {
    '/': {
         'request.dispatch': d
     },
}
cherrypy.quickstart(None, '/', config=conf)

相关内容

  • 没有找到相关文章

最新更新