Skip to main content

A flask-style `route` decorator for django views

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-route-decorator, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size django_route_decorator-0.1.1-py3-none-any.whl (2.7 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page