Skip to main content

Helper utilities for working with Ajax in Django

Project description


# djajax
Some helper utilities for building Ajax applications without throwing out all the nicities of Django out the window (or moving wholesale to something like Django REST Framework).

## Models

### SerializableMixin
A model mixin that gives an easy way to serialize a model or queryset to JSON.

#### to_json
Default dictionary representation of a model that can later be converted to JSON. May be overriden in a model by defining `to_json` in the model.

#### serialize (static method)
Serializes a queryset/model into a JSON-ifable dictionary. Will paginate a queryset if necessary.

## Template tags

### jsonify filter
Outputs a dictionary input a JSON object. Returns an empty obj if the template variable is empty.

```html
<script type="text/javascript">
window.onload = function() {
(function() {
var djajaxJsonData = {{ json|jsonify }};
console.log('djajaxJsonData', djajaxJsonData);
})();
}();
</script>
```

### djajax_urls tag
Outputs a dictionary of reverse lookups to urls for use in Javascript. Urls must be specified in DJAJAX_URL_REVERSE_LOOKUPS and must not need arguments.

settings.py
```python
DJAJAX_URL_REVERSE_LOOKUPS = [
'login',
'www:index',
]
```

index.html
```html
<script src="{% static 'js/djajax.js' %}"></script>

<script type="text/javascript">
window.onload = function() {
(function() {
var djajaxUrls = {% djajax_urls %};
console.log('djajaxUrls', djajaxUrls);
})();
}();
</script>
```

## HTTP responses

### JsonHttpResponse
Returns a JSON response with the correct headers set.

## View helpers

### is_idempotent
Returns whether the request is idempotent (changes state on the server) or not.

### response
Returns an appropriate AJAX response for an AJAX request.

### get_from_post_or_get
Attempts to first get a value from the POST query dictionary, and if that fails, to look at the GET querystring.


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

djajax-0.0.4.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

djajax-0.0.4-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file djajax-0.0.4.tar.gz.

File metadata

  • Download URL: djajax-0.0.4.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for djajax-0.0.4.tar.gz
Algorithm Hash digest
SHA256 5cdf6bb6cc5dea81e4776ffd03b6cd57d3329ab9ae38fa1575ff65b490236aff
MD5 ee49cd56ed612ed855b6ce4098d96e9a
BLAKE2b-256 18fe1770a066b23bbe0929109f6813e531ca33e54f3a05a78e298f3db4e0a795

See more details on using hashes here.

File details

Details for the file djajax-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: djajax-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for djajax-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9bc4795962cd444350f34770f0f9a4e35fdd9ec078eb4d308f16bb031d7cf7a7
MD5 7736b5ee3139d01aa53253952d75c5e5
BLAKE2b-256 069875a24542a1046622bffb1a9731164b6fbb0ba9d7aeec19fb05603729573d

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