首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

一个 django 的路由小工具

  •  
  •   sazima · 82 天前 · 1102 次点击
    这是一个创建于 82 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可以用装饰器来定义路由.

    
    @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, 还不错.

    6 回复  |  直到 2019-09-19 20:26:45 +08:00
        1
    freakxx   82 天前
    感觉可以试下这种方式

    做一个 register decorator,然后可以指定 urlpatterns, 然后按照 path 的写法,在修饰器实现 path 注册。

    然后类内部函数还是走 action 那套,或者同样实现的功能。

    感觉整体会更漂亮一些。
        2
    sazima   81 天前
    @freakxx 可以这么用的, 我晚上抽空写到 readme 里
        3
    iConnect   81 天前 via iPhone
    flask 就是这么用的
        4
    Hopetree   81 天前
    可以但没必要。这个工具对于 django 没啥用,如果 django 需要这样写的话,早就参考 flask 的蓝图了,而实际上根本不需要,django 的视图+路由已经很清晰方便了
        5
    inorilzy   81 天前
    对,flask 就是这么用的。
        6
    sazima   81 天前
    @Hopetree
    @iConnect
    @inorilzy

    谢谢回复, 目前的类视图写一套增删改查就要另起一个.
    如果想把类似的功能都聚合到一起, 或者是平常习惯写 service 层的可以试下.
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   942 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 20:58 · PVG 04:58 · LAX 12:58 · JFK 15:58
    ♥ Do have faith in what you're doing.