Thank you @swainn and @alansnow21 for the suggestions. I've tried several things and eventually came up with something that is satisfactory, but I would like to propose some changes to Tethys to make this a little cleaner. I'll explain the process that I went through (for posterity):
The step that I had missed was adding the {% gizmo_dependencies %} tag to the bottom of my template. At first when I added this I got the following error:
Traceback (most recent call last):
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/usr/lib/tethys/src/tethys_apps/tethysapp/data_browser/controllers.py", line 271, in get_download_options
html = render_to_string('data_browser/options.html', download_options)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/template/loader.py", line 97, in render_to_string
return template.render(context, request)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/template/backends/django.py", line 95, in render
return self.template.render(context)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/template/base.py", line 206, in render
return self._render(context)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
return self.nodelist.render(context)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
bit = node.render_annotated(context)
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
return self.render(context)
File "/usr/lib/tethys/src/tethys_gizmos/templatetags/tethys_gizmos.py", line 173, in render
gizmos_rendered = context['gizmos_rendered']
File "/usr/lib/tethys/local/lib/python2.7/site-packages/django/template/context.py", line 77, in __getitem__
raise KeyError(key)
KeyError: 'gizmos_rendered'
I don't fully understand the reasons for getting this error because the way that the gizmo dependencies are resolved is still blackbox magic to me, however the cause of the error was because I was trying to use render_to_string() to render the template.