You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

django-route-decorator

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-route-decorator

A flask-style `route` decorator for django views

0.1.1
pipPyPI
Maintainers
1

A flask-style route decorator for django views

Simple things should be simple, complex things should be possible (c)Alan Kay

There is some contradiction between decoupling and DRY principles in django urls. Why not use flasky @route decorator to fix this issue?

Install

pip install django-route-decorator

It's compatible with django >= 2.0 only, because it uses new urls.path syntax.

Simple things should be simple

Just decorate your views with an instance of Route:

from route_decorator import Route

route = Route()

@route
def foo_view(request):
    # /foo-view

@route
def bar__view(request):
    # double underscore means a folder
    # /bar/view

And don't forget to add the routes into your urls.py:

from . import views

urlpatterns += views.route.patterns

Now you have your views binded to /foo-view and /bar-view respectively.

You can also get map urlname -> url with route.names and pass them to frontend maybe. In our case it would be:

{
    'foo_view': '/foo-view',
    'bar__view': '/bar/view'
}

Complex things should be possible

You can pass url_prefix and name_prefix to route:

route = Router('/api', 'api:')

And also use path and name in a decorator:

@route('/baz', 'baz-name')
def baz_view(request):
    ...

So it would be bind to /api/baz with name api:baz-name.

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.