Using WaffleJS
Waffle supports using flags, switches, and samples in JavaScript (“WaffleJS”) either via inline script or an external script.
Warning
Unlike samples when used in Python, samples in WaffleJS are only calculated once and so are consistent.
The WaffleJS waffle object
WaffleJS exposes a global waffle object that gives access to flags,
switches, and samples.
Methods
These methods can be used exactly like their Python equivalents:
waffle.flag_is_active(flag_name)waffle.switch_is_active(switch_name)waffle.sample_is_active(sample_name)
Members
WaffleJS also directly exposes dictionaries of each type, where keys are
the names and values are true or false:
waffle.FLAGSwaffle.SWITCHESwaffle.SAMPLES
Installing WaffleJS
As an external script
Using the wafflejs view requires adding Waffle to your URL
configuration. For example, in your ROOT_URLCONF:
urlpatterns = patterns('',
(r'^', include('waffle.urls')),
)
This adds a route called wafflejs, which you can use with the
url template tag:
<script src="{% url 'wafflejs' %}"></script>
As an inline script
To avoid an extra request, you can also use the wafflejs template
tag to include WaffleJS as an inline script:
{% load waffle_tags %}
<script>
{% wafflejs %}
</script>