Положить тег шаблона 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."

https://docs.djangoproject.com/en/1.6/ref/templates/api/

Другие вопросы по тегам