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>