Наконец-то понял это сам. Комбинация this и get-параметров django работает. Общий вынос:
- Вы можете без проблем поместить
{% tags %}
и {{ variables }}
в index.template.html
, так как там нет способа настроить существующие макросы, такие как ${title}
- Если вы сделаете
foo.template.html
и foo-debug.template.html
в каталоге html-template
вашего проекта, то первый переопределит index.template.html
для сборок релиза, а второй для отладочных сборок (обратите внимание, что результатом будет foo -debug.html вместо foo.html, хотя.)
- Вы можете передать имя SWF в параметре в django и попросить его заполнить каталог для вас
Foo-debug.template.html
<object ...
<param name="movie" value="{{ bin_debug_url }}/${swf}.swf" ...
djangoflash.html
{% block content %}
{% include flash_template %}
{% endblock %}
views.py
def djangoflashview( request, **kwargs ):
if not kwargs.has_key('extra_context'):
kwargs['extra_context'] = {}
if request.GET.has_key('name'):
debug = "-debug" if request.GET.has_key('debug') else ""
bin_debug_dir = '/dir-to-bin-debug/'
bin_debug_url = 'url-to-bin-debug'
name = bin_debug_dir + request.GET['name'] + debug + '.html'
kwargs['extra_context']['flash_template'] = name
kwargs['extra_context']['bin_debug_url' ] = bin_debug_url
return direct_to_template( request, **kwargs )
urls.py
url( r'^djangoflash/', 'views.djangoflashview',
{ 'template': 'djangoflash.html' }
Цель выполнения отладки foo.mxml:
/url-to-django/djangoflash/?name=foo
Когда вы отлаживаете foo.mxml, flex:
- Добавляет
&debug=true
к URL
- Поднимает браузер до
/url-to-djangoflash/djangoflash/?name=foo&debug=true
- Который выбирает
djangoflash/
в urls.py
- , который передает запрос на
djangoflashview
и {'name':'foo','debug':'true'}
на request.GET
в views.py
- Который определяет имя и местоположение местоположения
foo-debug.html
, передавая его в контекстную переменную flash_template
- И URL-адрес swf к контекстной переменной
bin_debug_url
- и загружает прямой шаблон
djangoflash.html
- Включая в
djangoflash.html
оболочку foo-debug.html
для флэш-памяти с использованием контекстной переменной flash_template
- Который, в свою очередь, заполняет контекстную переменную
bin_debug_url
, чтобы правильно указать ссылку foo.swf на то, что вы только что скомпилировали
Уф. : -Р