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.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_route_decorator-0.1.1-py3-none-any.whl.
File metadata
- Download URL: django_route_decorator-0.1.1-py3-none-any.whl
- Upload date:
- Size: 2.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c2e8a67ae5bc78699ce0f48b05278062d559aeabe918520a408bb1a5eaebdea
|
|
| MD5 |
5c83d33925aa6071ccca657941ed54f9
|
|
| BLAKE2b-256 |
55fadcc120ac8fa3c5501b4fa7e3d2accecc5e501118c355e698e424785c689a
|