Skip to main content

Utility library to help development of RIA on top of a Django backend

Project description

django_js_utils is a small utility library that aims to provide JavaScript/Django developers with a few utilities that will help the development of RIA on top of a Django Backend.

Reversing Django Urls from Javascript

Why is this useful

One of the pillars of Django is DRY principle and hardcoding your urls in Javascript is violating that principle.

Moreover, building parametrized urls on the fly is error-prone and ugly.

What is included

A snippet of Javascript implementation of Django reverse function that can be found in django_js_utils.js

A view jsurls to generate a list of all of your Django urls.

Installation and usage

  1. Add django_js_utils to your python path and add the django_js_utils application to your INSTALLED_APPS

  2. Add the jsurls view to your URL patterns, e.g.,

(r'^jsurls.js$', 'django_js_utils.views.jsurls', {}, 'jsurls'),
  1. Load the static django_js_utils.js (which contains the reverse function) and the dynamically-generated jsurls.js from every web page where you plan to use the reverse function (likely just your base.html template). Example:

<script type="text/javascript" src="{% staticfile 'django_js_utils.js' %}"></script>
<script type="text/javascript" src="{% url jsurls %}"></script>
  1. In your JavaScript code, reverse URLs as follows:

django_js_utils.urls.resolve('dashboard')
django_js_utils.urls.resolve('time_edit', { project_id: 1, time_id: 2 })

For more information about usage, see example.html

TO-DO

  1. Handle the unnamed Django urls that result in <> in urls.js file, but are not handled in Javascript resolver.

  2. Write unit tests

  3. Promote the code

Project details


Download files

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

Source Distribution

django-js-utils-0.0.5dev.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file django-js-utils-0.0.5dev.tar.gz.

File metadata

File hashes

Hashes for django-js-utils-0.0.5dev.tar.gz
Algorithm Hash digest
SHA256 3e0caf39b26519711143b14c0e94d6ee8b21c1a5a1756f33c841ce918b6a7559
MD5 dbf2c96d4d913bd470d424cc4b27c1ed
BLAKE2b-256 d672350e8c2c9e9f77f8a0b2bcd6c5afcf115d042c4e79295ebc7153d6e1b680

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page