具有多个参数的Gae,webapp2 url

时间:2014-06-17 03:49:48

标签: google-app-engine url parameters webapp2

我目前正在使用webapp2处理网络应用,该应用处理多个城市的餐厅。一些网址看起来像

1. www.example.com/newyork
2. www.example.com/newyork/fastfood
3. www.example.com/newyork/fastfood/tacobell

为了处理第一个网址,我使用了以下

CITY_RE = r'(/(?:[a-zA-Z0-9]+/?)*)'

app = webapp2.WSGIApplication([(CITY_RE, CityHandler)], debug = True)

如何使用多个参数(如2和3)处理网址。

1 个答案:

答案 0 :(得分:0)

我有类似的方法来匹配像/<country>/<region>/<city>/<category>这样的网址。 /usa/california/losangeles/restaurants我使用此正则表达式:

app = webapp2.WSGIApplication([('/([^/]+)/?([^/]*)/?([^/]*)', RegionSearch)], config=settings.w2config, debug=True)

声明处理程序类中的相关参数。

class RegionSearch(SearchBaseHandler):
    """Handles regional search requests."""

    def get(
            self,
            region=None,
            city=None,
            category=None,
            subcategory='For sale',
            PAGESIZE=50,  # items on page
            limit=60,  # number of days
            year=2012,
            month=1,
            day=1,
            next_page=None,
    ):

我认为你甚至可以这样做

webapp2.Route('/passwdresetcomplete/<city>/<category>/<name>', handler=RegionSearch, name='regionsearch')