我需要时间限制的帮助。我想告诉用户他有多少时间租车。 这是我的观点:
class CarRentView(RedirectView):
permanent = False
query_string = True
model = Car
def date_of_return(request):
car = Car.objects.all()
car.rent = True
date_of_rent = datetime.now()
date_of_rent = car.save()
car_return_date = date_of_rent+timedelta(days=30)
return render(request, 'cars','car_return_date')
当我想在我的模板中执行此操作时:
{{ car_return_date }}
没有什么,我不知道,有什么不对。是否有可能显示返回日期并在此之后进行计数?
答案 0 :(得分:0)
您需要以不同方式调用渲染函数:
return render(request, 'myapp/index.html', {'cars': car, 'car_return_date': car_return_date})
有关详细信息,请参阅docs。
此外,我认为您没有正确设置car.rent
,因为您在所有汽车上进行设置。
答案 1 :(得分:0)
返回到模板的变量需要作为上下文字典的一部分返回。所以你会:
return render(request, 'my_template.html', {'car': car, 'car_return_date': car_return_date})
car_return_date
变量随后将在您的模板中使用:
{{ car_return_date }}
输出datetime
对象时,您可能还想使用日期过滤器。例如,您可以使用:
{{ car_return_date|date:"j N Y" }}
答案 2 :(得分:0)
我建议将date_of_rent
更改为last_date_of_rent
,添加30天。然后,将last_date_of_rent
保存到模型中。因此,您可以直接在模板中使用last_date_of_rent
。此外,使用内置模板过滤器timeuntil
将返回所需的内容。 -
{{ car.last_date_of_rent|timeuntil }}
文档: https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#timeuntil