我想使用带有一些稍微不同的网址的美味派。我希望他们是这样的:
/api/v1/city/London/make_default /api/v1/city/Paris/make_default /api/v1/city/Singapore/remove_city
城市本身可以是我数据库中城市表中的任何城市,资源名称是我要执行的方法。每种方法都有自己的资源。在美味派中,网址似乎给我带来了一些麻烦。我一直给我一个 301 重定向的 prepend_urls。
class CityResource(Resource):
class Meta
def make_default(self, request, city_name):
return super(ViewTemplateResource, self).get_object_list(request)\
.filter(name=city_name, client=request.user).update(default=True)
def prepend_urls(self):
return [
url(r"^city/(?P<city_id>[\w\d_.-]+)/(?P<resource_name>%s)/$" % self._meta.resource_name,
self.wrap_view('make_default')),
]