两个路由字符串在python中相互附加

时间:2012-08-18 02:52:14

标签: python google-app-engine

在以下代码中location_id = "Roger"court_id = "court1"

return webapp2.redirect("/schedule/%s/%s" % (location_id, court_id))

获取定义如下

class Schedule(BaseHandler):
    def get(self, location_id, court_id):
        self.render_template('schedule.html', {'location':location_id,'court':court_id})

但是当我使用以下路由到达schedule.html模板时,

app = webapp2.WSGIApplication([
        ('/', MainPage), 
        ('/create/([\w]+)', CreateCourt), 
        ('/createlocation/([\w]+)', CreateLocation), 
        ('/schedule/([\w]+/([\w]+))', Schedule) 
        ],
        debug=True)

location的价值已增加到包含/court的值:“Roger / court1”。

如何将“地点/法院”的两个部分分开? 我怀疑答案与/ schedule的路由正则表达式有关。

1 个答案:

答案 0 :(得分:1)

我认为你是对的 - 在你的schedule处理程序中,看起来你错过了右括号(之前从未输入过单数 - 奇怪的:))。试试这个:

app = webapp2.WSGIApplication([
        ('/', MainPage), 
        ('/create/([\w]+)', CreateCourt), 
        ('/createlocation/([\w]+)', CreateLocation), 
        ('/schedule/([\w]+)/([\w]+)', Schedule) 
        ],
        debug=True)