我有一个模型、视图和模板:
模型
class Peoples(models.Model):
l_name = models.CharField(max_length=50)
f_name = models.CharField(max_length=50)
m_name = models.CharField(max_length=50)
tab_number = models.CharField(max_length=5)
birthday = models.DateField(null=True, blank=True)
post = models.CharField(max_length=250, blank=True)
workplace = models.ForeignKey(Workplace, null=True, blank=True)
skill = models.CharField(max_length=20, blank=True)
dopuska = models.TextField(blank=True)
srok_dopuskov = models.DateField(null=True, blank=True)
photo = models.ImageField(upload_to='img',blank=True)
class Meta:
ordering = ('l_name',)
def __unicode__(self):
return self.l_name
def age(self):
import datetime
return int((datetime.datetime.now() - self.birthday).days / 365.25 )
age = property(age)
Run Code Online (Sandbox Code Playgroud)
看法
def view_persone(request, tab_number):
return direct_to_template(request, 'person.html', {
'persone': Peoples.objects.filter(tab_number=tab_number),
})
Run Code Online (Sandbox Code Playgroud)
模板
{% for person in persone %}
???????: <b>{{ person.age }}</b>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但是模板中应该是年龄的字段是空的。为什么?
你需要做
def age(self):
import datetime
return int((datetime.date.today() - self.birthday).days / 365.25 )
Run Code Online (Sandbox Code Playgroud)
因为您的生日是 DateField。
| 归档时间: |
|
| 查看次数: |
5195 次 |
| 最近记录: |