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.FLAGS
waffle.SWITCHES
waffle.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>