我的模板以下列格式呈现标记{{ test.date}}
-
2015-12-15T23:55:33.422679
当我尝试使用django内置的模板标记date
对其进行格式化时,它不会显示任何内容。
我试过的变化:
{{ test.date|date:"SHORT_DATE_FORMAT" }}
{{ test.date|date:"D d M Y" }}
models.py:
class Human(models.Model):
name = models.CharField(max_length=50,default='',blank=False)
class Test(models.Model):
human = models.ForeignKey(Human)
date = models.DateTimeField(default=datetime.now)
views.py:
def list(request):
h = Human.objects.all()
s=[]
for her in h:
t = h.test_set.all()
s.extend(t)
context = RequestContext(request, {'test_list': s,})
return render_to_response('template.html', context)
然后我在模板中使用它:
{% for test in test_list %}
{{test.date}}
{% endfor %}
我错过了什么?
答案 0 :(得分:2)
我不确定你想从这个逻辑中得到什么,但我认为你可以使用它:
def list(request):
test = Test.objects.all()
return render(request, 'template.html', {'test':test})
并在模板中:
{% for t in test %}
{% t.date %}
{% endfor %}
如果您想要显示人物,只需添加周期{% t.human.name %}
答案 1 :(得分:0)
正在回答一个旧帖子...但是,对我来说,答案似乎并没有回答原始问题-这就是为什么Django内联模板日期格式无法正常工作...
答案是(我相信)作者正在尝试将类似以下内容的内容输出到他的页面:
"This is my date:{{test.date|date:"D d M Y"}}."
如果确实要尝试这种方法,那么问题是双引号在这种情况下不起作用。您需要改为执行以下操作:
"This is my date:{{test.date|date:'D d M Y'}}."
请注意单引号...