我正在尝试为应用程序创建一个模板驱动的过期试用版,但我不确定为什么我当前的方法不起作用。
当用户注册时,我创建了一个新客户和 current_subscription,计划名为“免费试用”:
@receiver(user_signed_up)
def create_trial(sender, **kwargs):
user = kwargs['user']
customer = Customer.create(user)
fn = settings.TRIAL_PERIOD_FOR_USER_CALLBACK
days = fn(user)
start = datetime.now()
end = start + timedelta(days=days)
sub = CurrentSubscription.objects.create(customer=customer,
plan="free trial",
quantity="1",
status='trialing',
trial_start=start,
trial_end=end,
start=start,
current_period_end=end,
amount=0)
然后我有一个条件模板标签,针对用户的计划来调出一个菜单,告诉用户他们的试用期已经过期而不是应用程序:
{% if not current_subscription.plan == 'free trial' or current_subscription.is_valid %}
# trial expiry stuff
{% endif %}
但即使试用期已过期且计划的价值 != db 中的“免费试用”,我的条件也没有正确评估。我的标签错了吗?谢谢