Django for loop в шаблоне не будет перебирать элементы, это как одна большая строка - PullRequest
0 голосов
/ 22 апреля 2019

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

Он печатает все как одна большая строка.

В python он проходит черезхорошо, и это действительный список, созданный введенный в базу данных postgres.

Это моя функция в моих views.py

def pages(request, id):


   obj = rtves_programas.objects.get(id=id)

   context = {'title': obj.title,
              'show_date': obj.show_date,
              'script' : obj.script,
              'script_eng': obj.script_eng,
              'description': obj.description,
              'description_eng': obj.description_eng,
              'show_id':obj.show_id,
              'url': obj.url,
               }


   return render(request, 'rtves/pages.html', context)

этот элемент представляет собой список → 'script_eng': obj.script_eng, иЯ хочу распечатать элементы списка.

это мой код в шаблоне.

{% if script %}
     {% for sentence in script %}
            {{ sentence }}
     {% endfor %}              

      {% else %}
          <p>Nothing here</p>

{% endif %}

Но он печатает все в списке, а не элементы списка, это выглядитвот так

enter image description here

если я просто добавлю это в шаблон, то это {{ script }}

enter image description here

Аналогично циклу, но без пробела

Вот определение модели

class rtves_programas(models.Model):
title = models.CharField(unique=True, max_length=250)
script = ArrayField(models.CharField(max_length=8000))
created_on = models.DateTimeField()
show_date = models.CharField(max_length=300, blank=True, null=True)
script_eng = models.CharField(max_length=8000, blank=True, null=True)
description = models.CharField(max_length=2000, blank=True, null=True)
description_eng = models.CharField(max_length=2000, blank=True, null=True)
url = models.CharField(max_length=200, blank=True, null=True)
show_id = models.CharField(max_length=200, blank=True, null=True)

1 Ответ

0 голосов
/ 24 апреля 2019

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

class programas(models.Model):
title = models.CharField(unique=True, max_length=250)
script = ArrayField(models.CharField(max_length=8000, blank=True))
created_on = models.DateTimeField()
show_date = models.CharField(max_length=300, blank=True, null=True)
script_eng = ArrayField(models.CharField(max_length=8000, blank=True))
description = models.CharField(max_length=2000, blank=True, null=True)
description_eng = models.CharField(max_length=2000, blank=True, null=True)
url = models.CharField(max_length=200, blank=True, null=True)
show_id = models.IntegerField(primary_key=True)
id = models.IntegerField(default=1)

Тогда модели не будут обновляться в базе данных postgres, поэтому я очистил миграции, поэтомуКогда миграции не работали

Я запустил этот код

SELECT * FROM "public"."django_migrations";
DELETE FROM "public"."django_migrations" WHERE "id"=replace with your Id;

Так что теперь я могу пройти через цикл, но мне все еще нужно работать над некоторыми другими вещами.

...