Я работаю через Раздел 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 %}