Невозможно добавить теги в представления внешнего интерфейса. Набор запросов Django. - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь добавить теги к моему представлению из столбца набора запросов, который выглядит так для одного наблюдения, как синонимы для великого:

  ['fun, cool, awesome']

Когда я пытаюсь отобразить отдельные теги, он просто печатается как один блок:

  'fun, cool, awesome' 

Вот так выглядит views.py, передавая эти данные:

class SynDetailView(generic.DetailView):
     model = Syn
     template_name = "synonoms/syn_detail.html"

     def get_context_data(self, **kwargs):
        context = super(SynDetailView, self).get_context_data(**kwargs)
        tags  = Syn.objects.filter('synid'=self.kwargs.get('pk')).values_list('tags', flat=True)
        tags = str(tags)
        context['tags'] = [x.strip() for x in tags.split(',')]
        return context

РЕДАКТИРОВАТЬ: Я хочу напечатать их, как это

'fun'
'cool'
'awesome'

1 Ответ

1 голос
/ 23 июня 2019

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

def get_context_data(self, **kwargs):
    context = super(SynDetailView, self).get_context_data(**kwargs)
    context['tags'] = Syn.objects.filter('synid'=self.kwargs.get('pk')).values_list('tags', flat=True)
    return context

Затем вы можете удалить значение из шаблона:

{% for tag in tags %}
    {{ tag.strip }}
{% endfor %}
...