Шаблон Django не может быть оценен только при поиске определенного поля - PullRequest
0 голосов
/ 17 апреля 2019

Я работаю через Раздел 3 официального руководства по Django и испытываю проблемы с оценкой шаблонных переменных. После добавления app_name = polls к моему urls.py и обновления {% url 'detail' question.id %} до {% url 'polls:detail' question.id %} в моем шаблоне мой шаблон больше не успешно оценивает одно из полей в каждом экземпляре Question.

С кодом ниже, question.question_text в polls/index.html не оценивается. Вместо этого буквально {{ question.question_text }} отображается для каждого элемента списка. Однако, когда я изменяю question.question_text на question.pub_date (pub_date - другое поле объекта), оно корректно оценивается и отображается дата. Кроме того, question оценивается как значение question.question_text, которое я ищу из-за метода Question class '__str__.

polls/urls.py

from django.urls import path

from . import views

app_name = 'polls'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:question_id>/', views.detail, name='detail'),
    path('<int:question_id>/results/', views.results, name='results'),
    path('<int:question_id>/vote/', views.vote, name='vote'),
]

polls/views.py

import datetime

from django.db import models
from django.utils import timezone


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __str__(self):
        return self.question_text

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

polls/index.html

{% if latest_question_list %}

<ul>
  {% for question in latest_question_list %}
  <li>
    <a href="{% url 'polls:detail' question.id %}">{{
      question.question_text
    }}</a>
  </li>
  {% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}

1 Ответ

1 голос
/ 17 апреля 2019

Я запустил это в своей среде разработки, и когда я поместил {{question.question_text}} все в одну строку, это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...