Django models 以简洁的形式计算字段(属性)

Django models 以简洁的形式计算字段(属性),django-models,django-forms,django-crispy-forms,calculated-field,Django Models,Django Forms,Django Crispy Forms,Calculated Field,是否可以将模型(@property)中的计算字段呈现为只读字段,或者以简洁的形式使用HTML布局 提前感谢您的回答。使用视图将模型实例传递给模板,并在模板中获取属性值 型号.py from datetime import date class DemoModel(models.Model): name = models.CharField(mx_length=23) dob = models.DateTimeField() @property def ag

是否可以将模型(@property)中的计算字段呈现为只读字段,或者以简洁的形式使用HTML布局


提前感谢您的回答。

使用视图将模型实例传递给模板,并在模板中获取属性值

型号.py

from datetime import date
class DemoModel(models.Model):
     name = models.CharField(mx_length=23)
     dob = models.DateTimeField()


    @property
    def age(self):
         return date.today().year - self.dob.year
def demoview(request):
   from .models import DemoModel
   instance = DemoModel.objects.first()
   return render(request, 'index.html' ,{'instance':instance})
视图.py

from datetime import date
class DemoModel(models.Model):
     name = models.CharField(mx_length=23)
     dob = models.DateTimeField()


    @property
    def age(self):
         return date.today().year - self.dob.year
def demoview(request):
   from .models import DemoModel
   instance = DemoModel.objects.first()
   return render(request, 'index.html' ,{'instance':instance})
HTML

 <p>DOB: {{ instance.dob }}</p>
 <p>AGE: {{ instance.age }}</p>
DOB:{{instance.DOB}

年龄:{{instance.AGE}


这不脆