почему в шаблонах django имя поля получает 'none' - PullRequest
0 голосов
/ 16 октября 2019

Я создал страницу шаблонов и извлекаю данные из модели для одного поля. Я получаю ни одного и отображаю имя класса модели,

код шаблона:

    {% for abc in events %}
            <div>

                <h2><a href="">{{ abc.event_title }}</a></h2>
                <p>published: {{ abc.event_release_date }}</p>

                <p>{{ abc.event_description|linebreaksbr }}</p> 
 {{% for author in abc.event_author.all %}}
              <p>{{ author }}</p>
          {{% endfor %}}


            </div>
        {% endfor %}

Просмотр кода:

def index(request):
    return render(request, 'polls/home.html', {})





"model class name and function name should not be samm"
def Event(request):
    events=Events.objects.all()
    return render(request, 'polls/events.html', {'events':events})

enter image description here

Код модели указан ниже:

class Author(models.Model):
    author_name=models.CharField(max_length=300)


    def __str__(self):
        return  self.author_name



class Events(models.Model):
    event_author=models.ManyToManyField(Author)
    event_title=models.CharField(max_length=300)
    event_title_image = models.ImageField(upload_to='images/', blank=True, null=False)
    event_description=models.TextField(blank = True)
    event_image_description = models.ImageField(upload_to='images/', blank=True,)
    event_release_date = models.DateField(null="false")

    def __str__(self):
        return self.event_title

    def publish(self):
        self.event_release_date = timezone.now()
        self.save()

Внесены незначительные изменения в код шаблона

1 Ответ

2 голосов
/ 16 октября 2019

event_author - это множество полей, это означает, что само event_author не может быть отображено в шаблоне. Вам нужно пройтись по многоплановому полю следующим образом:

{% for author in abc.event_author.all %}
    <p>{{author}}</p>
{% endfor %}

Полный пример:

{% for abc in events %}
    <div>

        <h2><a href="">{{ abc.event_title }}</a></h2>
        <p>published: {{ abc.event_release_date }}</p>

        <p>{{ abc.event_description|linebreaksbr }}</p>
        {% for author in abc.event_author.all %}
             <p>{{author}}</p>
        {% endfor %}

    </div>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...