gpt4 book ai didi

django - 在模板中测试 Django 模型选择

转载 作者:行者123 更新时间:2023-12-05 00:07:36 25 4
gpt4 key购买 nike

假设我有一个模型,如:

from django.db import models

USER_TYPE_CHOICES = (
(1, 'Free'),
(2, 'Paid'),
)

class Account(models.Model):
name = models.CharField(max_length=20)
user_type = models.IntegerField(default=1, choices=TYPE_CHOICES)

在模板中,我想测试 user_type 以显示一个特殊部分,如果用户是“付费”类型。

我想做一些类似于 C#define 或常量的事情来测试 user_type。所以我的模板代码看起来像:
{% ifequal user_type PAID_ACCOUNT %}

而不是使用像这样的魔数(Magic Number):
{% ifequal user_type 2 %}

在 Django 中执行此操作最优雅的方法是什么?我应该只定义一个带有 FREE_ACCOUNT 和 PAID_ACCOUNT 的自定义上下文处理器吗?也许是模板标签?

谢谢!

最佳答案

我个人会做的是添加一个 is_paid(self)方法到您的 Account 模型,然后可以直接从模板调用。额外的好处是这在应用程序的其他部分具有实用性。

它还使您能够在函数中进行额外处理,例如工作人员 ( is_staff ) 可能会将其用户类型自动设置为付费用户。

关于django - 在模板中测试 Django 模型选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2035590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com