django_client_reverse | ||
.gitignore | ||
circle.yml | ||
details.json | ||
LICENSE | ||
manage.py | ||
README.md | ||
requirements.txt | ||
runbuild | ||
runtests | ||
setup.py | ||
testsettings.py |
django-client-reverse
Django server component for accessing URL reversing on the client.
Why?
The django templating system is great, especially the URL reversing template tag. The problem is that most modern web apps have a large amount of their logic inside files outside of the templates, such as javascript files. This means that URLs can no longer be generated by reverse lookup. This is where django-client-reverse steps in!
This module allows access to the reversing functions, from the client, outside of the project template! Simply send an extra request to the URL you set up, and the reversed URL will be returned. Support for both args
and kwargs
!
Installation
Installation can be done using pip, eventually.
Setup
Once installed, add the package to your INSTALLED_APPS
at any point after the django core apps.
INSTALLED_APPS = {
...
'django-client-reverse',
...
}
Next, setup the URL for your endpoint in any urls.py
file. Both the url regex and the namespace are not important, anything can be used.
from django_client_reverse import urls as reverse_urls
urlpatterns = [
url(r'^reverse/$', include(reverse_urls, namespace="reverser")),
]
Thats it!
Usage
Just send a POST
request to the URL you setup, and the reversed URL will be returned.
Params:
- ident: The reverse string, using standard django syntax.
- args (optional): arguements for the reverse.
- kwargs (optional): Key word arguements for the reverse.
Note: If a reverse cannot be found, then status 404
is returned.