我正在尝试在输入字段中显示日期:
<tr><td>Date of Birth</td><td><input type="date" name="DOB" value="{{m.dob|date:"d/m/Y"}}" required=True></td></tr>
其中m.dob在模型中定义为:
dob = models.DateField('Date of Birth', blank=True, null=True)
HTML输入标记在加载页面时将日期显示为dd / mm / yyyy,但我可以看到该字段已获取分配的值。如何让它正确显示?
感谢您的帮助
答案 0 :(得分:4)
问题是value="{{m.dob|date:'d/m/Y'}}"
,必须指定为value="{{m.dob|date:'Y-m-d'}}"
答案 1 :(得分:1)
老兄,你的问题不明确。但就目前而言,我假设你是Django的新手。
您的数据库值未填充在模板中。为了显示该值,您必须执行两个步骤:
from django.views.generic import View
from django.shortcuts import render
class Home(View):
template_name = "home.html"
def __init__(self, **kwargs):
pass
def get(self, request):
# Fetch your object here. ID or any other
myObj = MyModel.objects.get(id=1)
# Third argument is the conext dictionary
return render(request,self.template_name,{'myObj': myObj})
现在只需使用以下语法在模板中使用myObj
。
<tr><td>Date of Birth</td><td><input type="date" name="DOB" value="{{myObj.dob|date:"d/m/Y"}}" required=True></td></tr>
此代码位于 home.html 。
答案 2 :(得分:1)
如果使用ModelForm并将该表单对象传递给模板,那么它应该是
value="{{m.dob.value|date:'Y-m-d'}}"
答案 3 :(得分:0)
你可以这样使用default
:
date = models.DateField(_("Date"), default="{{"+datetime.date.today+"}}")