Положить тег шаблона django в статический файл
Я хочу поместить некоторый шаблонный тег для конфигурации в статический файл js, и он будет включен в html файл. Как мне предварительно скомпилировать файл? Есть ли способ, как файл rus.jb?
2 ответа
Ну, ничто не мешает вам просто сделать это, может быть, так:
page.html
шаблон:
<script>
{% include "settings.js" %}
</script>
settings.js
шаблон:
var SETTINGS = {
'MEDIA_URL': '{% get_media_url_example %}',
...
};
Если вам не нужен встроенный JS-код, а отдельный файл, вы можете использовать Django Compressor, который может генерировать сжатые статические файлы из встроенного JavaScript. Пример использования из документации:
{% load compress %}
{% compress js %}
<script src="/static/js/one.js"></script>
<script>obj.value = "value";</script>
{% endcompress %}
Вы можете сделать что угодно:
>>> from django.template import Context, Template
>>> t = Template("My name is {{ person.first_name }}.")
>>> d = {"person": {"first_name": "Joe", "last_name": "Johnson"}}
>>> t.render(Context(d))
"My name is Joe."