Django + Coffescript: переменные Django в шаблонах - PullRequest
1 голос
/ 22 ноября 2011

В django я могу визуализировать HTML-шаблон из действия вида следующим образом:

return render_to_response('video_handle/view.html', {'filename': filename, \
'frame_count': frame_count, 'folder': folder})

Это приведет к отображению шаблона "view.html" и даст мне доступ к переменным filename, frame_count и папке внутри шаблона, так что это прекрасно работает:

<script type="text/javascript">
file_name = '{{filename}}'
frame_count = '{{frame_count}}'
folder = '{{folder}}'
</script>

Теперь, когда я пытаюсь сделать то же самое в файле coffescrip, скомпилировать файл в javascript и загрузить его в мой шаблон view.html, значения переменных python не присваиваются переменным javascript, и вместо этого эти переменные сохраняют строковое значение. Это означает, что в примере формы переменная file_name сохраняет значение этой строки '{{filename}}' вместо фактического значения переменной python, называемой filename.

Есть идеи о том, что происходит и как ее решить?

1 Ответ

1 голос
/ 22 ноября 2011

Если я правильно понимаю ваш вопрос, то происходит то, что файлы CoffeeScript не обрабатываются (обрабатывается только ваш шаблон и, следовательно, передаются переменные).

Если вам абсолютно необходимо передавать данные из бэкэнда во внешний интерфейс таким образом, вы можете просто использовать то, что у вас есть, переменные JavaScript будут вам доступны, поэтому, если вы загрузите свой JavaScript ниже этого тега <script>, у вас будет доступ к file_name, frame_count и т. д.

Я бы предложил поместить эти данные в объект, чтобы не загрязнять глобальное пространство имен следующими переменными:

<script>
var options = {
  fileName : '{{file_name}}',
  frameCount : '{{frame_count}}'
  // more options here
};
</script>

И затем вы можете использовать их с точечной нотацией (также в CoffeeScript):

alert options.fileName # should alert the file name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...