我目前正在使用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)处理网址。
答案 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')