Я передаю строки, состоящие из символов, разделенных запятыми, например A, B, C, .., в шаблон django, используя javascript. Это мой код: {% with list_of_words = wizard.form.tags.split (',')%} {% ...

0
ElisaFo 11 Янв 2021 в 23:09

1 ответ

Лучший ответ

Итак, сначала в каталоге вашего приложения создайте файл с именем filters.py и добавьте в него следующее:

from django import template
from django.template.defaultfilters import stringfilter


register = template.Library()


@register.filter(name='split')
@stringfilter
def split(value, key):
    """
        Returns the value turned into a list.
    """
    return value.split(key)

Затем перейдите на свой settings.py и добавьте это в ШАБЛОНЫ :

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            'libraries': { # <----- add this
                'filter_tags': 'your_app_name_here.filters' # switch with your app name
            }
        },
    },
]

Затем в вашем шаблоне :

{% load filter_tags %}

{% with wizard.form.tags|split:"," as tags %}
    {% for tag in tags %}
        {{ tag }}<br>
    {% endfor %}
{% endwith %}
0
SLDem 11 Янв 2021 в 21:35