可以用装饰器来定义路由.
@request_mapping(value="/user")
class UserView(View):
@request_mapping(value="/get_info/")
def get_user_info_by_token(self, request, *args, **kwargs):
return HttpResponse("ok")
@request_mapping(value="/get_list/<int:year>/")
def some_others(self, request, year, *args, **kwargs):
return HttpResponse("ok")
@request_mapping(value="/login/", method="post")
def login(self, request, *args, **kwargs):
return HttpResponse("ok")
https://github.com/sazima/django-request-mapping
因为感觉 spring 的路由很好读, 所以仿照写了个, 目前项目在用, 改了几次 bug, 还不错.
1
freakxx 2019-09-19 00:34:35 +08:00
感觉可以试下这种方式
做一个 register decorator,然后可以指定 urlpatterns, 然后按照 path 的写法,在修饰器实现 path 注册。 然后类内部函数还是走 action 那套,或者同样实现的功能。 感觉整体会更漂亮一些。 |
3
iConnect 2019-09-19 08:29:54 +08:00 via iPhone
flask 就是这么用的
|
4
Hopetree 2019-09-19 09:55:23 +08:00
可以但没必要。这个工具对于 django 没啥用,如果 django 需要这样写的话,早就参考 flask 的蓝图了,而实际上根本不需要,django 的视图+路由已经很清晰方便了
|
5
inorilzy 2019-09-19 10:59:07 +08:00
对,flask 就是这么用的。
|
6
sazima OP |