Python Django模板仅在查找某个字段时才计算失败
我正在进行模板变量评估,但遇到了问题。将Python Django模板仅在查找某个字段时才计算失败,python,django,Python,Django,我正在进行模板变量评估,但遇到了问题。将app_name=polls添加到我的url.py并将{%url'detail'question.id%}更新到我的模板中的{%url'polls:detail'question.id%}后,我的模板不再成功评估question的每个实例中的一个字段 对于下面的代码,polls/index.html中的question.question\u文本未被评估。而是为每个列表项显示字面上的{{question.question_text}}。但是,当我将quest
app_name=polls
添加到我的url.py
并将{%url'detail'question.id%}
更新到我的模板中的{%url'polls:detail'question.id%}
后,我的模板不再成功评估question
的每个实例中的一个字段
对于下面的代码,polls/index.html
中的question.question\u文本
未被评估。而是为每个列表项显示字面上的{{question.question_text}}
。但是,当我将question.question_text
更改为question.pub_date
(pub_date
是对象上的另一个字段)时,会正确计算并显示日期。此外,question
被评估为question.question\u text
值,因为question
class'\u str\u
方法
轮询/url.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'),
]
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)
{% 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 %}
polls/index.html
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'),
]
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)
{% 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 %}
{%if最新问题列表%}
{最新问题列表%中的问题%
-
{%endfor%}
{%else%}
没有投票
{%endif%}
我在我的开发环境中运行了这个程序,当我把{{question.question_text}全部放在一行时,它成功了。如果你把{{question.question_text}全部写在一行,包括括号,会怎么样?谢谢。我在保存时关闭了格式,这就解决了它,但为什么呢?