Skip to main content

Json encode messages from the Django messages framework and dump them as JS

Project description

# django-json-messages
Add json encoded messages (from Django messages framework) to templates

# Install

```sh
pip install django-json-messages
```

# Usage

## Django messages

Make sure the [Django messages framework](https://docs.djangoproject.com/en/1.7/ref/contrib/messages/) is installed and working.

## App

Add `json_messages` to your list of `INSTALLED_APPS`

## Context processor

Add `json_messages.context_processors.json_messages` in your `CONTEXT_PROCESSORS` settings.

A `json_messages` property is now available on the context.

It is a dict version of the messages with `msg` and `type` keys

## Template tags

### Loading

Use `{% load json_messages %}` at the top of your template

### Json dump

Use `{% json_messages_dump %}` to simply dump the json encoded messages into your template

**Note** that all messages' `msg` properties are passed through Django's [escapejs](https://docs.djangoproject.com/en/dev/ref/templates/builtins/#escapejs) for security reasons.

### Script

Use `{% json_messages_script %}` to dump the messages array into a Javascript window variable called ` messages `

This is equivalent to writing

```
<script type="text/javascript">
window.messages = {% json_messages_dump %};
</script>
```

#### Configuration

- Set a context variable `js_variable` to override the name of the window variable use by `{% json_messages_script %}`
*Example:*
```
{% json_messages_script js_variable="blop" %}
```
results in
```
<script type="text/javascript">
window.blop = [{"type":"danger", "msg":"Something"}];
</script>
```
Defaults to *"messages"*


## Package dependencies

None

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-json-messages-0.1.2.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

django_json_messages-0.1.2-py2.py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 2 Python 3

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